Public Types | |
| typedef TMCIterator< T, TMCClassArray< T > > | iterator |
| typedef TMCConstIterator< T, TMCClassArray< T > > | const_iterator |
Public Member Functions | |
| TMCClassArray (void) | |
| TMCClassArray (uint32 initialCount) | |
| TMCClassArray (uint32 initialCount, uint32 initialSpace, uint32 initialGrowSize) | |
| TMCClassArray (const TMCClassArray< T > &inFromArray) | |
| TMCClassArray (T *const &baseAddress, boolean inAquireMemory, uint32 elemCount, uint32 elemSpace) | |
| TMCClassArray (TMCClassArray< T > &array, uint32 elemStart, uint32 elemCount) | |
| ~TMCClassArray (void) | |
| TMCClassArray< T > & | operator= (const TMCClassArray< T > &fromArray) |
| boolean | ArrayAlloc (uint32 initialCount, uint32 initialSpace, uint32 initialGrowSize) |
| boolean | ArrayAllocFromBuffer (T *baseAddress, boolean inAquireMemory, uint32 elemCount, uint32 elemSpace) |
| void | ArrayFree (void) |
| boolean | IsValid (void) const |
| MCErr | IsIndexInvalid (int32 i) const |
| int8 * | BaseAddress (void) |
| const int8 * | BaseAddress (void) const |
| uint32 | GetElemSize (void) const |
| uint32 | GetGrowSize (void) const |
| uint32 | GetElemSpace (void) const |
| uint32 | GetElemCount (void) const |
| boolean | ExternalMemory () |
| boolean | GetSmartGrow (void) const |
| T * | ArrayData (void) |
| const T * | ArrayData (void) const |
| void | SetValid (boolean valid) |
| void | SetGrowSize (uint32 g) |
| void | SetSmartGrow () |
| boolean | SetElemSpace (uint32 n) |
| boolean | SetElemCount (uint32 n) |
| boolean | AddElemCount (uint32 n) |
| const_iterator | Begin (void) const |
| iterator | Begin (void) |
| const_iterator | End (void) const |
| iterator | End (void) |
| T & | FirstElem (void) |
| const T & | FirstElem (void) const |
| T & | LastElem (void) |
| const T & | LastElem (void) const |
| void | Erase (const iterator &elementToErase) |
| void | Erase (const iterator &start, const iterator &end) |
| boolean | CopyElems (const TMCClassArray< T > &fromArray, uint32 firstIndex, uint32 nbItems, uint32 insertIndex) |
| boolean | Append (const TMCClassArray< T > &fromArray) |
| void | FillWithValue (const T &inValue, uint32 inStart=kBeginIndex, uint32 inLength=kUnusedIndex) |
| void | Swap (TMCClassArray< T > &fromArray) |
| T * | Pointer (uint32 i) |
| const T * | Pointer (uint32 i) const |
| T & | operator[] (uint32 i) |
| const T & | operator[] (uint32 i) const |
| void | SetElem (uint32 index, const T &data) |
| void | GetElem (uint32 index, T &data) const |
| boolean | AddElem (const T &data) |
| T & | AddElem () |
| boolean | InsertElem (uint32 index, const T &data) |
| void | RemoveElem (uint32 index, uint32 count) |
| boolean | CompactArray (void) |
| uint32 | FindElem (const T &elemToFind) const |
| void | RemoveElem (T &elemToRemove) |
Protected Member Functions | |
| void | UpdateDataPointer (void) |
| void | ZeroInternals (void) |
| void | Construct (T *inDataStart, uint32 numConstruct, const T &inInitValue) |
| void | Destruct (T *inDataStart, uint32 numDestruct) |
Protected Attributes | |
| uint32 | fElemCount |
| The number of elements in use. | |
| uint32 | fElemSpace |
| The number of elements allocated (unconstructed). | |
| uint32 | fArrayFlags |
| Flags that control the behavior of the array. | |
| T * | fArrayData |
| The memory block used by the array. | |
Indexes to access the Array classes are ZERO based (array[0] gives you the first element)
Arrays grows dynamically as you add elements, so it is very dangerous to keep pointers to elements of the array: if the array is reallocated, your pointers will become invalid. In this case, you should use indexes. For better efficiency, preallocate the number of elements you'll need (or use an estimation of the space if possible).
In eSmartGrow mode (the default), the size of the extra space added when the array is reallocated (the grow size) depends on the number of elements already in the array. Otherwise, a constant grow size is used.
Other array classes are: TMCArray, TMCPtrArray, TMCCountedPtrArray, and TMCExtensibleArray.
|
|||||
|
|
|
|||||
|
|
|
||||||||||
|
Creates an empty array |
|
||||||||||
|
Constructs an array with a certain number of elements already accessible (and constructed).
|
|
||||||||||||||||||||
|
Constructs an array with a certain number of elements already accessible (and constructed), and/or some extra space to extend the array without reallocating it.
|
|
||||||||||
|
Copy constructor: Construct an array from an existing array. |
|
||||||||||||||||||||||||
|
Constructs an array from existing memory.
|
|
||||||||||||||||||||
|
Constructs an alias to an existing array.
|
|
||||||||||
|
Destructs the elements of the array and frees the memory (if the array owns it). |
|
|||||||||
|
Add an element to the end of the array and returns a reference to it. |
|
||||||||||
|
Add an element to the end of the array and assign it the data reference that is passed in. |
|
||||||||||
|
Add the passed in number of elemens to the array. |
|
||||||||||
|
Append one array on to the end of another. |
|
||||||||||||||||||||
|
!!! DO NOT CALL THIS !!! |
|
||||||||||||||||||||||||
|
!!! DO NOT CALL THIS !!! |
|
||||||||||
|
Returns a pointer to the first element |
|
||||||||||
|
Returns a pointer to the first element |
|
||||||||||
|
Frees all the memory held by this array (unless it uses external memory). And sets the element count to 0. |
|
||||||||||
|
Returns the address at which the elements of the array begin |
|
||||||||||
|
Returns the address at which the elements of the array begin |
|
||||||||||
|
Returns a reference to the begining iterator for the array. |
|
||||||||||
|
Returns a reference to the begining iterator for the array. |
|
||||||||||
|
Get rid of any space that has been allocated to the array and isn't being used. |
|
||||||||||||||||||||
|
|
|
||||||||||||||||||||||||
|
Copy elements from one array to another. |
|
||||||||||||||||
|
|
|
||||||||||
|
Returns a reference to the ending iterator for the array. |
|
||||||||||
|
Returns a reference to the ending iterator for the array. |
|
||||||||||||||||
|
Erases a range of elements in the array from the startIterator to the endIterator. |
|
||||||||||
|
Erases a single element in the array that is referenced by the iterator. |
|
|||||||||
|
Returns true if the array doesn't own its memory |
|
||||||||||||||||||||
|
Fill an array range with the value passed in. |
|
||||||||||
|
Finds the index in this array of the given element
|
|
||||||||||
|
Returns a reference to the first element in the array. |
|
||||||||||
|
Returns a reference to the first element in the array. |
|
||||||||||||||||
|
Get the contents of arrray index into the passed in data reference. |
|
||||||||||
|
Returns the actual number of (valid) elements in the array. Those elements can be accessed with the operator [] |
|
||||||||||
|
Returns the size of one element |
|
||||||||||
|
Returns the number of elements that can be stored in the array (before the next reallocation) |
|
||||||||||
|
Returns the size by which the array grows |
|
||||||||||
|
Returns true if the grow size is dynamic |
|
||||||||||||||||
|
Inserts one element at the given index
|
|
||||||||||
|
returns kNoErr if the given index is valid, kOutOfRangeError otherwise (use with ThrowIfError(array.IsIndexInvalid(i);) |
|
||||||||||
|
IsValid(): Check to see if the class is valid. |
|
||||||||||
|
Returns a reference to the last element in the array. |
|
||||||||||
|
Returns a reference to the last element in the array. |
|
||||||||||
|
operator=: Assignment operator copies all the data from one array to another. |
|
||||||||||
|
Returns a reference to the data at the passed in index. |
|
||||||||||
|
Returns a reference to the data at the passed in index. |
|
||||||||||
|
Returns a pointer to the data at the passed in index. |
|
||||||||||
|
Returns a pointer to the data at the passed in index. |
|
||||||||||
|
Removes (only) one occurence of an element (after searching for it)
|
|
||||||||||||||||
|
Remove one or more elements from the array starting from the passed in index. |
|
||||||||||||||||
|
Set the contents of arrray index to the passed in data reference. |
|
||||||||||
|
Set the number of elements in the array. |
|
||||||||||
|
Set the number of elements to have memory allocated for. Note: This memory is unconstructed, uninitialied and isn't considered part of the array until the element count reaches the memory. |
|
||||||||||
|
Sets the growSize (and sets the eSmartGrow flag to false) |
|
|||||||||
|
Sets the eSmartGrow flag and computes the maximum grow size (in elements count) |
|
||||||||||
|
Sets the valid flag to true |
|
||||||||||
|
Swaps the contents of two arrays. |
|
||||||||||
|
|
|
||||||||||
|
|
|
|||||
|
The memory block used by the array.
|
|
|||||
|
Flags that control the behavior of the array.
|
|
|||||
|
The number of elements in use.
|
|
|||||
|
The number of elements allocated (unconstructed).
|
1.3.9.1