40 #ifndef __OPENFLUID_CORE_VECTOR_HPP__
41 #define __OPENFLUID_CORE_VECTOR_HPP__
100 Vector(
unsigned long Size,
const T& InitValue);
161 inline T
at(
unsigned long Index)
const
163 return getElement(Index);
169 inline T
get(
unsigned long Index)
const
171 return getElement(Index);
183 inline void set(
unsigned long Index,
const T& Val)
185 setElement(Index,Val);
230 return &m_Data[m_Size];
239 return &m_Data[m_Size];
265 if (!allocate(Other.
m_Size))
307 std::fill(m_Data.get(), m_Data.get() + Size, InitValue);
326 std::copy(Data, Data + Size, m_Data.get());
359 m_Size = Other.m_Size;
360 m_Data = std::move(Other.m_Data);
379 m_Data = std::move(std::make_unique<T[]>(Size));
409 std::copy(Data, Data + Size, m_Data.get());
425 return m_Data[Index];
457 return m_Data[Index];
480 std::fill(m_Data.get(), m_Data.get() + m_Size,Val);
Definition: FrameworkException.hpp:51
Definition: Vector.hpp:59
T * iterator
Definition: Vector.hpp:62
std::unique_ptr< T[]> m_Data
Definition: Vector.hpp:69
unsigned long getSize() const
Definition: Vector.hpp:126
const_iterator begin() const
Definition: Vector.hpp:219
T at(unsigned long Index) const
Definition: Vector.hpp:161
T getElement(unsigned long Index) const
Definition: Vector.hpp:418
void fill(const T &Val)
Definition: Vector.hpp:478
void clear()
Definition: Vector.hpp:489
void setData(T *Data, unsigned long Size)
Definition: Vector.hpp:400
T get(unsigned long Index) const
Definition: Vector.hpp:169
Vector< T > & operator=(Vector &&Other)
Definition: Vector.hpp:353
Vector(unsigned long Size)
Definition: Vector.hpp:279
void init()
Definition: Vector.hpp:466
bool allocate(unsigned long Size)
Definition: Vector.hpp:374
Vector()
Definition: Vector.hpp:250
T & operator[](unsigned long Index)
Definition: Vector.hpp:450
iterator begin()
Definition: Vector.hpp:210
static void copy(const Vector &Source, Vector &Dest)
Definition: Vector.hpp:500
const T * const_iterator
Definition: Vector.hpp:64
Vector(const Vector &Other)
Definition: Vector.hpp:261
void set(unsigned long Index, const T &Val)
Definition: Vector.hpp:183
Vector(unsigned long Size, const T &InitValue)
Definition: Vector.hpp:296
Vector(T *Data, unsigned long Size)
Definition: Vector.hpp:317
iterator end()
Definition: Vector.hpp:228
unsigned long size() const
Definition: Vector.hpp:135
virtual ~Vector()=default
const_iterator end() const
Definition: Vector.hpp:237
Vector< T > & operator=(const Vector &Other)
Definition: Vector.hpp:335
unsigned long m_Size
Definition: Vector.hpp:71
T * data() const
Definition: Vector.hpp:143
void setElement(unsigned long Index, const T &Val)
Definition: Vector.hpp:434
#define OPENFLUID_API
Definition: dllexport.hpp:86
Definition: ApplicationException.hpp:47