#include <collection.h>
TrackedCollection is a class which is a "Collection" of T=C* or T = Ptr< C > (not sorted, not unique).
We keep a track of index in Collection to allow direct removal of internal element if T = C* or T = Ptr< C >, object C must have this two functions implemented : KyUInt32 GetIndexInCollection() const; void SetIndexInCollection(KyUInt32 indexInCollection)
Public Member Functions | |
T & | PushBack (const T &value) |
T & | PushBack () |
T & | PushBackUnique (const T &value) |
void | Clear () |
void | ClearAndReleaseMemory () |
void | Reserve (KyUInt32 size) |
KyUInt32 | GetCount () const |
KyUInt32 | GetCapacity () const |
bool | IsEmpty () const |
const T & | operator[] (KyUInt32 index) const |
T & | operator[] (KyUInt32 index) |
const T * | GetDataPtr () const |
T * | GetDataPtr () |
KyUInt32 | RemoveAt (KyUInt32 index) |
KyUInt32 | FindFirstOccurrence (const T &value, KyUInt32 startIndex=0) |
KyUInt32 | RemoveFirstOccurrence (const T &value, KyUInt32 startIndex=0) |
bool | DoesContain (const T &value) const |
KyUInt32 | Remove (const T &value) |
For internal use only | |
CollectionImpl< T, CollectionIndexTrackerPtr< T >, SID > | m_collectionImpl |
|
inline |
Removes the element at specified index in the container.