826 if (in_uiSize
828 for (
AkUInt32 i = in_uiSize; i
844 for(
size_t i = cItems; i
857 TAlloc::TransferMem( (
void*&)
m_pItems, in_rSource, (
void*)in_rSource.
m_pItems );
872 for (
AkUInt32 i = 0; i Length(); ++i)
void EraseSwap(unsigned int in_uIndex)
static AkForceInline void TransferMem(void *&io_pDest, AkArrayAllocatorNoAlign in_srcAlloc, void *in_pSrc)
AkForceInline void TransferMem(void *&io_pDest, AkHybridAllocator &in_srcAlloc, void *in_pSrc)
AkUInt32 operator-(Iterator const &rhs) const
AkForceInline void * Alloc(size_t in_uSize)
AkForceInline void Free(void *in_pAddress)
Iterator & operator++()
++ operator
static const AkUInt32 _uBufferSizeBytes
AkForceInline void AkMemMove(void *pDest, const void *pSrc, AkUInt32 uSize)
@ AK_Fail
The operation failed.
bool IsGrowingAllowed() const
AkForceInline void * ReAlloc(void *in_pCurrent, size_t in_uOldSize, size_t in_uNewSize)
AKRESULT Copy(const AkArray &in_rSource)
Iterator FindEx(ARG_T in_Item) const
Returns the iterator th the specified item, will be End() if the item is not found
void RemoveAll()
Removes all items in the array
#define AkFree(_pool, _pvmem)
AKSOUNDENGINE_API void Free(AkMemPoolId in_poolId, void *in_pMemAddress)
AK_ALIGN(char m_buffer[uBufferSizeBytes], uAlignmentSize)
T & Last()
Returns a reference to the last item in the array.
AKRESULT
Standard function call result.
AkForceInline void * ReAlloc(void *in_pCurrent, size_t in_uOldSize, size_t in_uNewSize)
AKRESULT RemoveSwap(ARG_T in_rItem)
AkArrayAllocatorAlignedSimd ArrayPoolLEngineDefaultAlignedSimd
AkForceInline void Free(void *in_pAddress)
static AkUInt32 GrowBy(AkUInt32 in_CurrentArraySize)
AkForceInline T * Exists(ARG_T in_Item) const
Returns a pointer to the specified item in the list if it exists, 0 if not found.
Specific implementation of array
#define AkAlloc(_pool, _size)
static AkForceInline bool IsTrivial()
T * pItem
Pointer to the item in the array.
@ AK_Success
The operation was successful.
bool GrowArray(AkUInt32 in_uGrowBy)
Resize the array.
AkArrayAllocatorNoAlign ArrayPoolProfiler
AkArrayAllocatorNoAlign ArrayPoolLEngineDefault
AkForceInline void TransferMem(void *&io_pDest, AkArrayAllocatorAlignedSimd in_srcAlloc, void *in_pSrc)
bool operator==(const Iterator &in_rOp) const
== operator
#define AkPlacementNew(_memory)
void RemoveLast()
Removes the last item from the array.
@ AK_InvalidParameter
Something is not within bounds, check the documentation of the function returning this code.
static AkForceInline void * Alloc(size_t in_uSize)
AkUInt32 m_uLength
number of items in the array.
bool Resize(AkUInt32 in_uiSize)
Resize the array to the specified size.
AkForceInline T * AddLast(ARG_T in_rItem)
Add an item in the array, and fills it with the provided item.
#define AKASSERT(Condition)
static AkUInt32 GrowBy(AkUInt32)
static AkForceInline void * ReAlloc(void *in_pCurrent, size_t in_uOldSize, size_t in_uNewSize)
AKRESULT ReserveExtra(AkUInt32 in_ulReserve)
AkForceInline void AkMemCpy(void *pDest, const void *pSrc, AkUInt32 uSize)
Platform Independent Helper for memcpy/memmove/memset
Iterator End() const
Returns the iterator to the end of the array
AkUInt32 Reserved() const
Iterator Insert(Iterator &in_rIter)
AkForceInline void * Alloc(size_t in_uSize)
void Transfer(AkArray &in_rSource)
Iterator Erase(Iterator &in_rIter)
Erase the specified iterator from the array
static AkForceInline void Move(T &in_Dest, T &in_Src)
#define AkMalign(_pool, _size, _align)
AkUInt32 m_ulReserved
how many we can have at most (currently allocated).
Iterator Begin() const
Returns the iterator to the first item of the array, will be End() if the array is empty.
AkForceInline AkUInt32 Length() const
Returns the numbers of items in the array.
static AkForceInline bool IsTrivial()
#define AkRealloc(_pool, _pvmem, _size)
AkArrayAllocatorNoAlign ArrayPoolDefault
AKRESULT Remove(ARG_T in_rItem)
Removes the specified item if found in the array.
void Erase(unsigned int in_uIndex)
Erase the item at the specified index
bool operator!=(const Iterator &in_rOp) const
!= operator
AkForceInline T * AddLast()
static AkForceInline void Free(void *in_pAddress)
uint32_t AkUInt32
Unsigned 32-bit integer
void Term()
Term the array. Must be called before destroying the object.
static AkForceInline bool IsTrivial()
@ AK_InsufficientMemory
Memory error.
static AkUInt32 GrowBy(AkUInt32 in_CurrentArraySize)
static AkUInt32 GrowBy(AkUInt32)
AkForceInline bool IsEmpty() const
Returns true if the number items in the array is 0, false otherwise.
static AkForceInline void Move(T &in_Dest, T &in_Src)
AkForceInline T * Data() const
Returns a pointer to the first item in the array.
T * Insert(unsigned int in_uIndex)
Iterator & operator--()
– operator
Iterator EraseSwap(Iterator &in_rIter)
AkForceInline T & operator[](unsigned int uiIndex) const
Operator [], return a reference to the specified index.
#define AkReallocAligned(_pool, _pvmem, _size, _align)
AKRESULT Reserve(AkUInt32 in_ulReserve)
Iterator operator+(AkUInt32 inc) const
static AkForceInline void Move(T &&io_Dest, T &&io_Src)
Iterator BinarySearch(ARG_T in_Item) const
T * m_pItems
pointer to the beginning of the array.
static AkForceInline void Move(T &&io_Dest, T &&io_Src)
static AkForceInline bool IsTrivial()