diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-10 10:05:53 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-10 10:08:00 +0100 |
| commit | 031789eeb226b2b559f0edbaf28ed5bebc6ddff4 (patch) | |
| tree | f068128f603c75f97ba766290b6c8c2be05afe8f /src/kernel/NeKit/InitializerList.h | |
| parent | 64c23b15059649aeee6d08c7940d0ff1b56512b5 (diff) | |
chore: new `InitializerList` API.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/NeKit/InitializerList.h')
| -rw-r--r-- | src/kernel/NeKit/InitializerList.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/kernel/NeKit/InitializerList.h b/src/kernel/NeKit/InitializerList.h index 158b88ed..dc33d8eb 100644 --- a/src/kernel/NeKit/InitializerList.h +++ b/src/kernel/NeKit/InitializerList.h @@ -7,9 +7,10 @@ #pragma once #include <NeKit/Config.h> +#include <NeKit/ErrorOr.h> namespace Kernel { -template <typename T, SizeT N> +template <class T, SizeT N> class InitializerList final { public: explicit InitializerList(const T* list) { @@ -22,21 +23,20 @@ class InitializerList final { ~InitializerList() = default; - InitializerList& operator=(const InitializerList&) = default; - InitializerList(const InitializerList&) = default; + InitializerList& operator=(const InitializerList&) = delete; + InitializerList(const InitializerList&) = delete; T* begin() { return fList; } - T* operator->() { return fList; } - T* operator*() { return fList; } T* end() { return fList + N; } constexpr SizeT size() const { return N; } + + T* operator->() { return fList; } + T* operator*() { return fList; } private: T fList[N]; }; -template <typename ValueType, SizeT N> -inline InitializerList<ValueType, N> make_list(ValueType& val) { - return InitializerList<ValueType, N>{val}; -} +template <class T, SizeT N> +using ErrorOrList = ErrorOr<InitializerList<T, N>>; } // namespace Kernel |
