diff options
Diffstat (limited to 'dev/kernel/NewKit/ArrayList.h')
| -rw-r--r-- | dev/kernel/NewKit/ArrayList.h | 89 |
1 files changed, 35 insertions, 54 deletions
diff --git a/dev/kernel/NewKit/ArrayList.h b/dev/kernel/NewKit/ArrayList.h index 1ea69fc5..d07e534c 100644 --- a/dev/kernel/NewKit/ArrayList.h +++ b/dev/kernel/NewKit/ArrayList.h @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. + Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. ------------------------------------------- */ @@ -8,56 +8,37 @@ #include <NewKit/Defines.h> -namespace Kernel -{ - template <typename T> - class ArrayList final - { - public: - explicit ArrayList(T* list, SizeT length) - : fList(reinterpret_cast<T>(list)) - { - } - - ~ArrayList() = default; - - ArrayList& operator=(const ArrayList&) = default; - ArrayList(const ArrayList&) = default; - - T* Data() - { - return fList; - } - - const T* CData() - { - return fList; - } - - T& operator[](SizeT index) const - { - MUST_PASS(index < this->Count()); - return fList[index]; - } - - operator bool() - { - return fList; - } - - SizeT Count() const - { - return fLen; - } - - private: - T* fList{nullptr}; - SizeT fLen{0}; - }; - - template <typename ValueType> - ArrayList<ValueType> make_list(ValueType val) - { - return ArrayList<ValueType>{val}; - } -} // namespace Kernel +namespace Kernel { +template <typename T> +class ArrayList final { + public: + explicit ArrayList(T* list, SizeT length) : fList(reinterpret_cast<T>(list)) {} + + ~ArrayList() = default; + + ArrayList& operator=(const ArrayList&) = default; + ArrayList(const ArrayList&) = default; + + T* Data() { return fList; } + + const T* CData() { return fList; } + + T& operator[](SizeT index) const { + MUST_PASS(index < this->Count()); + return fList[index]; + } + + operator bool() { return fList; } + + SizeT Count() const { return fLen; } + + private: + T* fList{nullptr}; + SizeT fLen{0}; +}; + +template <typename ValueType> +ArrayList<ValueType> make_list(ValueType val) { + return ArrayList<ValueType>{val}; +} +} // namespace Kernel |
