class Geo GeoAutoReleaseArray

This is the documentation for Enlighten.

class Geo GeoAutoReleaseArray

template<typename T>
class Geo::GeoAutoReleaseArray

    └>Geo::GeoArray< T * >

Adaptor to allow storing of IGeoReleasable pointers in a container (calls Release() on each pointer upon array destruction)

Functions

Name

Description

Name

Description

~GeoArray()

Destructor calls destructor on all elements in the array and frees the memory.

Back()

Non constant access to final entry.

Back()

Constant access to final entry.

Begin()

Return iterator similar to vector::begin()

Begin()

Return iterator similar to vector::begin()

Clear()

Remove all elements from the array.

Clear()

Remove all elements from the array.

Contains(const T &)

Returns true if the array contains x.

Emplace(s32, U &&)

Insert an element at the specified index, elements already in the array at that index and above are shuffled up.

EmplaceBack(U &&)

Add the specified element to the end of the array.

EmplaceBackFast(U &&)

Fast version of push that doesn't do any checking in release.

EmplaceFast(s32, U &&)

Inserts elem at index, and moves whatever is currently at the index to the end of the array, thus not preserving order or existing indices.

End()

Return iterator similar to vector::end()

End()

Return iterator similar to vector::end()

Front()

Constant access to final entry.

Front()

Non constant access to final entry.

GeoArray(s32)

Construct an empty array with the default capacity.

GeoArray(const GeoArray< CompatT > &)

Construct a copy of the specified array - The compiler must be able to resolve T = CompatT.

GeoArray(const CompatT *, s32)

Construct a copy of the specified array - The compiler must be able to resolve T = CompatT.

GeoArray(s32, const T &)

Construct with the specified value replicated numCopies times.

GeoArray(GeoArray &&)

Move constructor.

GeoArray(const GeoArray &)

Construct a copy of the specified array.

GeoAutoReleaseArray(s32)

Construct an empty array with the default capacity.

GetArray()

Remove all elements from the array.

GetArray()

Give access to the internal array.

GetArrayConst()

Remove all elements from the array.

GetCapacity()

Returns the number of array entries available at the moment.

GetMemoryUsage()

Memory used for array storage.

GetSize()

Return the number of array entries currently in use.

Init(s32)

Common initialisation code called by all constructors.

Insert(s32, T &&)

Insert an element at the specified index, elements already in the array at that index and above are shuffled up.

Insert(s32, const T &)

Insert an element at the specified index, elements already in the array at that index and above are shuffled up.

InsertFast(s32, T &&)

Inserts elem at index, and moves whatever is currently at the index to the end of the array, thus not preserving order or existing indices.

InsertFast(s32, const T &)

Inserts elem at index, and moves whatever is currently at the index to the end of the array, thus not preserving order or existing indices.

IsEmpty()

Returns true if the array is empty.

IsFull()

Returns true if the array is full.

operator[](s32)

Constant array access.

operator[](s32)

Non constant array access.

operator=(const GeoArray &)

Assignment operator.

operator=(const GeoArray< CompatT > &)

Assignment operator - The compiler must be able to resolve T = CompatT.

operator=(GeoArray &&)

Move assignment operator.

Pop()

Remove the element with the highest index (if there is one)

PopFast()

Fast version of pop that doesn't do any checking in release.

Push(T &&)

Add the specified element to the end of the array.

Push(const T &)

Add the specified element to the end of the array.

PushFast(const T &)

Fast version of push that doesn't do any checking in release.

PushFast(T &&)

Fast version of push that doesn't do any checking in release.

Remove(s32)

Remove the element at the specified index, elements at higher indices are shuffled down.

RemoveFast(s32)

Moves the end of the array into the element to be removed, thus not preserving order or existing indices.

Resize(s32)

Resize the array.

Resize(s32, const T &)

Resize the array.

ResizeCapacity(s32)

Ensure sufficient capacity for Resize operations.

SetCapacity(s32)

Change the array's capacity, reallocating memory if the new capacity is different to the current capacity.

Swap(GeoArray &)

Swap the contents of two arrays.

Typedefs

Name

Description

Name

Description

const T * const_iterator

The simplest possible const_iterator type (a raw pointer).

T * iterator

The simplest possible iterator type (a raw pointer).

T ValueType

Alias for our storage type.

Variables

Name

Description

Name

Description

ValueType * m_Data

Pointer to start of array memory.

ValueType * m_DataEnd

Pointer to 1 after end of array memory.

ValueType * m_End

Pointer to next free slot.



Geo::GeoArray< T >::~GeoArray


public: ~GeoArray()


Destructor calls destructor on all elements in the array and frees the memory.



ValueType& Geo::GeoArray< T >::Back


public: ValueType & Back()


Non constant access to final entry.



const ValueType& Geo::GeoArray< T >::Back


public: const ValueType & Back() const


Constant access to final entry.



ValueType* Geo::GeoArray< T >::Begin


public: ValueType * Begin()


Return iterator similar to vector::begin()



const ValueType* Geo::GeoArray< T >::Begin


public: const ValueType * Begin() const


Return iterator similar to vector::begin()



void Geo::GeoArray< T >::Clear


public: void Clear()


Remove all elements from the array.

The capacity of the array remains unchanged, which means that no memory is deallocated.



void Geo::GeoAutoReleaseArray< T >::Clear


public: void Clear()


Remove all elements from the array.



bool Geo::GeoArray< T >::Contains


public: bool Contains
(
    const T & x
) const


Returns true if the array contains x.



void Geo::GeoArray< T >::Emplace


public: void Emplace
(
    s32 index,
    U && elem
)


Insert an element at the specified index, elements already in the array at that index and above are shuffled up.



bool Geo::GeoArray< T >::EmplaceBack


public: bool EmplaceBack
(
    U && elem
)


Add the specified element to the end of the array.



void Geo::GeoArray< T >::EmplaceBackFast


protected: void EmplaceBackFast
(
    U && elem
)


Fast version of push that doesn't do any checking in release.



void Geo::GeoArray< T >::EmplaceFast


public: void EmplaceFast
(
    s32 index,
    U && elem
)


Inserts elem at index, and moves whatever is currently at the index to the end of the array, thus not preserving order or existing indices.



ValueType* Geo::GeoArray< T >::End


public: ValueType * End()


Return iterator similar to vector::end()



const ValueType* Geo::GeoArray< T >::End


public: const ValueType * End() const


Return iterator similar to vector::end()



const ValueType& Geo::GeoArray< T >::Front


public: const ValueType & Front() const


Constant access to final entry.



ValueType& Geo::GeoArray< T >::Front


public: ValueType & Front()


Non constant access to final entry.



Geo::GeoArray< T >::GeoArray


public: GeoArray
(
    s32 initCapacity
)


Construct an empty array with the default capacity.



Geo::GeoArray< T >::GeoArray


public: GeoArray
(
    const GeoArray< CompatT > & srcArray
)


Construct a copy of the specified array - The compiler must be able to resolve T = CompatT.



Geo::GeoArray< T >::GeoArray


public: GeoArray
(
    const CompatT * srcArray,
    s32 length
)


Construct a copy of the specified array - The compiler must be able to resolve T = CompatT.



Geo::GeoArray< T >::GeoArray


public: GeoArray
(
    s32 numCopies,
    const T & value
)


Construct with the specified value replicated numCopies times.



Geo::GeoArray< T >::GeoArray


public: GeoArray
(
    GeoArray && srcArray
)


Move constructor.



Geo::GeoArray< T >::GeoArray


public: GeoArray
(
    const GeoArray & srcArray
)


Construct a copy of the specified array.



Geo::GeoAutoReleaseArray< T >::GeoAutoReleaseArray


public: GeoAutoReleaseArray
(
    s32 initCapacity
)


Construct an empty array with the default capacity.



const ValueType* Geo::GeoArray< T >::GetArray


public: const ValueType * GetArray() const


Remove all elements from the array.

The capacity of the array remains unchanged, which means that no memory is deallocated.



ValueType* Geo::GeoArray< T >::GetArray


public: ValueType * GetArray()


Give access to the internal array.



const ValueType* Geo::GeoArray< T >::GetArrayConst


public: const ValueType * GetArrayConst() const


Remove all elements from the array.

The capacity of the array remains unchanged, which means that no memory is deallocated.



s32 Geo::GeoArray< T >::GetCapacity


public: s32 GetCapacity() const


Returns the number of array entries available at the moment.



s32 Geo::GeoArray< T >::GetMemoryUsage


public: s32 GetMemoryUsage() const


Memory used for array storage.



s32 Geo::GeoArray< T >::GetSize


public: s32 GetSize() const


Return the number of array entries currently in use.



bool Geo::GeoArray< T >::Init


protected: bool Init
(
    s32 initCapacity
)


Common initialisation code called by all constructors.