forked from Bananymous/banan-os
BAN: Make ErrorOr<> have attribute [[nodiscard]]
We don't have to specify it everytime we make function return ErrorOr
This commit is contained in:
parent
feaeee11e5
commit
247f03c79e
|
@ -38,7 +38,7 @@ namespace BAN
|
|||
};
|
||||
|
||||
template<typename T>
|
||||
class ErrorOr
|
||||
class [[nodiscard]] ErrorOr
|
||||
{
|
||||
public:
|
||||
ErrorOr(const T& value) : m_has_error(false) { m_data = (void*)new T(value); }
|
||||
|
@ -56,7 +56,7 @@ namespace BAN
|
|||
};
|
||||
|
||||
template<>
|
||||
class ErrorOr<void>
|
||||
class [[nodiscard]] ErrorOr<void>
|
||||
{
|
||||
public:
|
||||
ErrorOr() { }
|
||||
|
|
|
@ -28,8 +28,8 @@ namespace BAN
|
|||
HashSet<T, HASH>& operator=(const HashSet<T, HASH>&);
|
||||
HashSet<T, HASH>& operator=(HashSet<T, HASH>&&);
|
||||
|
||||
[[nodiscard]] ErrorOr<void> insert(const T&);
|
||||
[[nodiscard]] ErrorOr<void> insert(T&&);
|
||||
ErrorOr<void> insert(const T&);
|
||||
ErrorOr<void> insert(T&&);
|
||||
void remove(const T&);
|
||||
void clear();
|
||||
|
||||
|
@ -42,7 +42,7 @@ namespace BAN
|
|||
bool empty() const;
|
||||
|
||||
private:
|
||||
[[nodiscard]] ErrorOr<void> rebucket(size_type);
|
||||
ErrorOr<void> rebucket(size_type);
|
||||
Vector<T>& get_bucket(const T&);
|
||||
const Vector<T>& get_bucket(const T&) const;
|
||||
|
||||
|
|
|
@ -28,14 +28,14 @@ namespace BAN
|
|||
LinkedList<T>& operator=(const LinkedList<T>&);
|
||||
LinkedList<T>& operator=(LinkedList<T>&&);
|
||||
|
||||
[[nodiscard]] ErrorOr<void> push_back(const T&);
|
||||
[[nodiscard]] ErrorOr<void> push_back(T&&);
|
||||
[[nodiscard]] ErrorOr<void> insert(iterator, const T&);
|
||||
[[nodiscard]] ErrorOr<void> insert(iterator, T&&);
|
||||
ErrorOr<void> push_back(const T&);
|
||||
ErrorOr<void> push_back(T&&);
|
||||
ErrorOr<void> insert(iterator, const T&);
|
||||
ErrorOr<void> insert(iterator, T&&);
|
||||
template<typename... Args>
|
||||
[[nodiscard]] ErrorOr<void> emplace_back(Args&&...);
|
||||
ErrorOr<void> emplace_back(Args&&...);
|
||||
template<typename... Args>
|
||||
[[nodiscard]] ErrorOr<void> emplace(iterator, Args&&...);
|
||||
ErrorOr<void> emplace(iterator, Args&&...);
|
||||
|
||||
void pop_back();
|
||||
void remove(iterator);
|
||||
|
@ -64,7 +64,7 @@ namespace BAN
|
|||
Node* prev;
|
||||
};
|
||||
|
||||
[[nodiscard]] ErrorOr<Node*> allocate_node() const;
|
||||
ErrorOr<Node*> allocate_node() const;
|
||||
|
||||
Node* m_data = nullptr;
|
||||
Node* m_last = nullptr;
|
||||
|
|
|
@ -24,10 +24,10 @@ namespace BAN
|
|||
Queue<T>& operator=(Queue<T>&&);
|
||||
Queue<T>& operator=(const Queue<T>&);
|
||||
|
||||
[[nodiscard]] ErrorOr<void> push(T&&);
|
||||
[[nodiscard]] ErrorOr<void> push(const T&);
|
||||
ErrorOr<void> push(T&&);
|
||||
ErrorOr<void> push(const T&);
|
||||
template<typename... Args>
|
||||
[[nodiscard]] ErrorOr<void> emplace(Args&&...);
|
||||
ErrorOr<void> emplace(Args&&...);
|
||||
|
||||
void pop();
|
||||
void clear();
|
||||
|
@ -39,7 +39,7 @@ namespace BAN
|
|||
T& front();
|
||||
|
||||
private:
|
||||
[[nodiscard]] ErrorOr<void> ensure_capacity(size_type size);
|
||||
ErrorOr<void> ensure_capacity(size_type size);
|
||||
|
||||
private:
|
||||
T* m_data = nullptr;
|
||||
|
|
|
@ -25,11 +25,11 @@ namespace BAN
|
|||
String& operator=(String&&);
|
||||
String& operator=(StringView);
|
||||
|
||||
[[nodiscard]] ErrorOr<void> push_back(char);
|
||||
[[nodiscard]] ErrorOr<void> insert(char, size_type);
|
||||
[[nodiscard]] ErrorOr<void> insert(StringView, size_type);
|
||||
[[nodiscard]] ErrorOr<void> append(StringView);
|
||||
[[nodiscard]] ErrorOr<void> append(const String&);
|
||||
ErrorOr<void> push_back(char);
|
||||
ErrorOr<void> insert(char, size_type);
|
||||
ErrorOr<void> insert(StringView, size_type);
|
||||
ErrorOr<void> append(StringView);
|
||||
ErrorOr<void> append(const String&);
|
||||
|
||||
void pop_back();
|
||||
void remove(size_type);
|
||||
|
@ -44,8 +44,8 @@ namespace BAN
|
|||
bool operator==(StringView) const;
|
||||
bool operator==(const char*) const;
|
||||
|
||||
[[nodiscard]] ErrorOr<void> resize(size_type, char = '\0');
|
||||
[[nodiscard]] ErrorOr<void> reserve(size_type);
|
||||
ErrorOr<void> resize(size_type, char = '\0');
|
||||
ErrorOr<void> reserve(size_type);
|
||||
|
||||
StringView sv() const;
|
||||
|
||||
|
@ -56,9 +56,9 @@ namespace BAN
|
|||
const char* data() const;
|
||||
|
||||
private:
|
||||
[[nodiscard]] ErrorOr<void> ensure_capacity(size_type);
|
||||
ErrorOr<void> ensure_capacity(size_type);
|
||||
|
||||
[[nodiscard]] ErrorOr<void> copy_impl(StringView);
|
||||
ErrorOr<void> copy_impl(StringView);
|
||||
void move_impl(String&&);
|
||||
|
||||
private:
|
||||
|
|
|
@ -24,8 +24,8 @@ namespace BAN
|
|||
|
||||
StringView substring(size_type, size_type = -1) const;
|
||||
|
||||
[[nodiscard]] ErrorOr<Vector<StringView>> split(char, bool = false);
|
||||
[[nodiscard]] ErrorOr<Vector<StringView>> split(bool(*comp)(char), bool = false);
|
||||
ErrorOr<Vector<StringView>> split(char, bool = false);
|
||||
ErrorOr<Vector<StringView>> split(bool(*comp)(char), bool = false);
|
||||
|
||||
char back() const;
|
||||
char front() const;
|
||||
|
|
|
@ -31,14 +31,14 @@ namespace BAN
|
|||
Vector<T>& operator=(Vector<T>&&);
|
||||
Vector<T>& operator=(const Vector<T>&);
|
||||
|
||||
[[nodiscard]] ErrorOr<void> push_back(T&&);
|
||||
[[nodiscard]] ErrorOr<void> push_back(const T&);
|
||||
ErrorOr<void> push_back(T&&);
|
||||
ErrorOr<void> push_back(const T&);
|
||||
template<typename... Args>
|
||||
[[nodiscard]] ErrorOr<void> emplace_back(Args&&...);
|
||||
ErrorOr<void> emplace_back(Args&&...);
|
||||
template<typename... Args>
|
||||
[[nodiscard]] ErrorOr<void> emplace(size_type, Args&&...);
|
||||
[[nodiscard]] ErrorOr<void> insert(size_type, T&&);
|
||||
[[nodiscard]] ErrorOr<void> insert(size_type, const T&);
|
||||
ErrorOr<void> emplace(size_type, Args&&...);
|
||||
ErrorOr<void> insert(size_type, T&&);
|
||||
ErrorOr<void> insert(size_type, const T&);
|
||||
|
||||
iterator begin() { return iterator (m_data); }
|
||||
const_iterator begin() const { return const_iterator(m_data); }
|
||||
|
@ -62,15 +62,15 @@ namespace BAN
|
|||
const T& front() const;
|
||||
T& front();
|
||||
|
||||
[[nodiscard]] ErrorOr<void> resize(size_type);
|
||||
[[nodiscard]] ErrorOr<void> reserve(size_type);
|
||||
ErrorOr<void> resize(size_type);
|
||||
ErrorOr<void> reserve(size_type);
|
||||
|
||||
bool empty() const;
|
||||
size_type size() const;
|
||||
size_type capacity() const;
|
||||
|
||||
private:
|
||||
[[nodiscard]] ErrorOr<void> ensure_capacity(size_type);
|
||||
ErrorOr<void> ensure_capacity(size_type);
|
||||
|
||||
private:
|
||||
T* m_data = nullptr;
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace Kernel
|
|||
const Thread& current_thread() const;
|
||||
|
||||
template<typename... Args>
|
||||
[[nodiscard]] BAN::ErrorOr<void> add_thread(const BAN::Function<void(Args...)>& func, Args... args)
|
||||
BAN::ErrorOr<void> add_thread(const BAN::Function<void(Args...)>& func, Args... args)
|
||||
{
|
||||
uintptr_t flags;
|
||||
asm volatile("pushf; pop %0" : "=r"(flags));
|
||||
|
|
Loading…
Reference in New Issue