diff options
Diffstat (limited to 'src/libjin/common/array.hpp')
-rw-r--r-- | src/libjin/common/array.hpp | 204 |
1 files changed, 102 insertions, 102 deletions
diff --git a/src/libjin/common/array.hpp b/src/libjin/common/array.hpp index 8a5cbf1..49ed8ac 100644 --- a/src/libjin/common/array.hpp +++ b/src/libjin/common/array.hpp @@ -4,119 +4,119 @@ namespace JinEngine { - /// - /// A array created on heap. - /// - template<typename T> - class Array - { - public: - /// - /// Array constructor. - /// - Array() - : length(0) - , data(nullptr) - { - } + /// + /// A array created on heap. + /// + template<typename T> + class Array + { + public: + /// + /// Array constructor. + /// + Array() + : length(0) + , data(nullptr) + { + } - /// - /// Array constructor. - /// - /// @param l Length of array. - /// - Array(int l) - { - length = l; - data = new T[l]; - } + /// + /// Array constructor. + /// + /// @param l Length of array. + /// + Array(int l) + { + length = l; + data = new T[l]; + } - /// - /// Array destructor. - /// - ~Array() - { - delete[] data; - length = 0; - } + /// + /// Array destructor. + /// + ~Array() + { + delete[] data; + length = 0; + } - /// - /// Get address of data. - /// - /// @return Address of data. - /// - T* operator &() - { - return data; - } + /// + /// Get address of data. + /// + /// @return Address of data. + /// + T* operator &() + { + return data; + } - /// - /// Get specific element of array. - /// - /// @return Element of array. - /// - T& operator[](int index) - { - return data[index]; - } + /// + /// Get specific element of array. + /// + /// @return Element of array. + /// + T& operator[](int index) + { + return data[index]; + } - /// - /// Bind data with given data. - /// - /// @param data Data pointer. - /// @param length Length of data. - /// - void bind(T* data, int length) - { - if (data != nullptr) - delete data; - this->data = data; - this->length = length; - } + /// + /// Bind data with given data. + /// + /// @param data Data pointer. + /// @param length Length of data. + /// + void bind(T* data, int length) + { + if (data != nullptr) + delete data; + this->data = data; + this->length = length; + } - /// - /// Add an element. - /// - /// @param v Value of element. - /// - void add(T value) - { - int len = length + 1; - T* d = new T[len]; - memcpy(d, data, size()); - d[length] = value; - bind(d, len); - } + /// + /// Add an element. + /// + /// @param v Value of element. + /// + void add(T value) + { + int len = length + 1; + T* d = new T[len]; + memcpy(d, data, size()); + d[length] = value; + bind(d, len); + } - /// - /// Get size of data in byte. - /// - /// @return Size of data in byte. - /// - int size() - { - return sizeof(T) * length; - } + /// + /// Get size of data in byte. + /// + /// @return Size of data in byte. + /// + int size() + { + return sizeof(T) * length; + } - /// - /// Get length of data. - /// - /// @return Count of data. - /// - int count() - { - return length; - } + /// + /// Get length of data. + /// + /// @return Count of data. + /// + int count() + { + return length; + } - private: - // Disable new and delete. - void* operator new(size_t t); - void operator delete(void* ptr); + private: + // Disable new and delete. + void* operator new(size_t t); + void operator delete(void* ptr); - T * data; - unsigned int length; + T * data; + unsigned int length; - }; + }; } // namespace JinEngine |