Location:
e32base.h
Link against: euser.lib
CArrayVarBase
Supported from 5.0
An implementation base class for variable length arrays. It provides implementation and public functions which are common to all variable length type arrays.
The class is always derived from and is never instantiated explicitly.
|
Defined in CArrayVarBase
:
Compress()
, Count()
, Delete()
, Length()
, Reset()
, Sort()
, ~CArrayVarBase()
Inherited from CBase
:
operator new()
TInt Count() const;
Returns the number of elements held in the array.
|
TInt Length(TInt anIndex) const;
Returns the length of a specific element.
|
|
void Reset();
Deletes all elements from the array and frees the memory allocated to the array buffer.
As each element of a variable array is contained within its own heap cell, this function has the effect of freeing all such cells.
void Compress();
Removes excess space from the array buffer. The effect is to reduce the memory allocated to the array buffer so that it is just sufficient to represent the array. This applies to both flat and segmented array buffers.
If the array is empty, then the memory allocated to the array buffer is freed.
TInt Sort(TKeyArrayVar &aKey);
Sorts the elements of the array into key sequence.
|
|
void Delete(TInt anIndex);
void Delete(TInt anIndexPos,TInt aCount);
Removes one or more contiguous elements from the array, starting at a specific position.
Deleting elements from the array does not cause the array buffer to be
automatically compressed. Call CArrayVarBase::Compress()
to return
excess space to the heap.
Notes
The sum of anIndex
and aCount
must not be
greater than the number of elements currently in the array, otherwise the
functions raise an E32USER-CBase 29 panic.
|