3#include <Foundation/Containers/ArrayBase.h>
11template <
typename T, plUInt32 Capacity>
16 PL_DECLARE_MEM_RELOCATABLE_TYPE_CONDITIONAL(T);
25 template <plUInt32 OtherCapacity>
38 template <plUInt32 OtherCapacity>
45 void Reserve(plUInt32 uiCapacity);
49 const T* GetElementsPtr()
const;
54 const T* GetStaticArray()
const;
57 struct alignas(PL_ALIGNMENT_OF(T))
59 plUInt8 m_Data[Capacity *
sizeof(T)];
68#include <Foundation/Containers/Implementation/StaticArray_inl.h>
Base class for all array containers. Implements all the basic functionality that only requires a poin...
Definition ArrayBase.h:19
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Wraps a C-style array, which has a fixed size at compile-time, with a more convenient interface.
Definition StaticArray.h:13
void Reserve(plUInt32 uiCapacity)
For the static array Reserve is a no-op. However the function checks if the requested capacity is bel...
Definition StaticArray_inl.h:58
plStaticArray(const plStaticArray< T, Capacity > &rhs)
Creates a copy of the given array.
plStaticArray()
Creates an empty array.
Definition StaticArray_inl.h:3
~plStaticArray()
Destroys all objects.
Definition StaticArray_inl.h:39
void operator=(const plStaticArray< T, OtherCapacity > &rhs)
Copies the data from some other contiguous array into this one.
void operator=(const plStaticArray< T, Capacity > &rhs)
Copies the data from some other contiguous array into this one.