40 #ifndef __OPENFLUID_CORE_VECTOR_HPP__ 41 #define __OPENFLUID_CORE_VECTOR_HPP__ 71 bool allocate(
unsigned long Size);
93 Vector(
unsigned long Size);
98 Vector(
unsigned long Size, T InitValue);
103 Vector(T* Data,
unsigned long Size);
122 {
return getSize(); };
127 T*
data()
const {
return m_Data; };
132 void setData(T* Data,
unsigned long Size);
137 T getElement(
unsigned long Index)
const;
142 inline T
at(
unsigned long Index)
const {
return getElement(Index); };
147 inline T
get(
unsigned long Index)
const {
return getElement(Index); };
153 void setElement(
unsigned long Index, T Element);
158 inline void set(
unsigned long Index, T Element) { setElement(Index,Element); };
164 T& operator[](
unsigned long Index);
174 void fill(
const T& Val);
187 {
return &m_Data[0]; }
194 {
return &m_Data[0]; }
201 {
return &m_Data[m_Size]; }
207 inline const_iterator
end()
const 208 {
return &m_Data[m_Size]; }
267 if (m_Data !=
nullptr)
270 for (i=0;i<m_Size;i++) m_Data[i] = InitValue;
287 std::copy(Data, Data + Size, m_Data);
298 if (m_Data !=
nullptr) clear();
312 m_Data =
new T[Size];
313 if (m_Data !=
nullptr)
335 std::copy(Data, Data + Size, m_Data);
349 return m_Data[Index];
362 m_Data[Index] = Element;
376 return m_Data[Index];
387 if (
this == &A)
return *
this;
417 std::fill(m_Data, m_Data + m_Size,Val);
442 for (
unsigned long i = 0; i < Source.
m_Size;i++)
T * iterator
Definition: Vector.hpp:60
T & operator[](unsigned long Index)
Definition: Vector.hpp:371
void setElement(unsigned long Index, T Element)
Definition: Vector.hpp:358
void init()
Definition: Vector.hpp:403
T getElement(unsigned long Index) const
Definition: Vector.hpp:344
iterator end()
Definition: Vector.hpp:200
void setData(T *Data, unsigned long Size)
Definition: Vector.hpp:328
bool allocate(unsigned long Size)
Definition: Vector.hpp:307
Vector()
Definition: Vector.hpp:218
T * m_Data
Definition: Vector.hpp:67
unsigned long m_Size
Definition: Vector.hpp:69
void clear()
Definition: Vector.hpp:426
Vector< T > & operator=(const Vector &A)
Definition: Vector.hpp:385
const T * const_iterator
Definition: Vector.hpp:62
const_iterator end() const
Definition: Vector.hpp:207
const_iterator begin() const
Definition: Vector.hpp:193
Definition: FrameworkException.hpp:50
~Vector()
Definition: Vector.hpp:296
Definition: ApplicationException.hpp:47
void fill(const T &Val)
Definition: Vector.hpp:415
#define OPENFLUID_API
Definition: dllexport.hpp:87
static void copy(const Vector &Source, Vector &Dest)
Definition: Vector.hpp:438
unsigned long getSize() const
Definition: Vector.hpp:114
T * data() const
Definition: Vector.hpp:127
Definition: Vector.hpp:56
iterator begin()
Definition: Vector.hpp:186
unsigned long size() const
Definition: Vector.hpp:121
T at(unsigned long Index) const
Definition: Vector.hpp:142