Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <e32base.h>
Link against: euser.lib

Class CArrayVarBase

class CArrayVarBase : public CBase;

Description

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.

Derivation

Members

Defined in CArrayVarBase:

Inherited from CBase:


Construction and destruction


~CArrayVarBase()

IMPORT_C ~CArrayVarBase();

Description

Destructor.

Frees all resources owned by the object, prior to its destruction.

[Top]


Member functions


Count()const

inline TInt Count() const;

Description

Gets the number of elements held in the array.

Return value

TInt

The number of array elements.


Length(TInt)const

IMPORT_C TInt Length(TInt anIndex) const;

Description

Gets the length of a specific element.

Parameters

TInt anIndex

The position of the element within the array. The position is relative to zero, (i.e. the first element in the array is at position 0).

Return value

TInt

The length of the element at position anIndex.

Panic codes

E32USER-CBase

21, if anIndex is negative or is greater than the number of elements currently in the array.


Compress()

IMPORT_C void Compress();

Description

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.


Reset()

IMPORT_C void Reset();

Description

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.


Sort(TKeyArrayVar &)

IMPORT_C TInt Sort(TKeyArrayVar &aKey);

Description

Sorts the elements of the array into key sequence.

Parameters

TKeyArrayVar &aKey

The key object defining the properties of the key.

Return value

TInt

KErrNone, if the sort completes successfully. KErrGeneral, if the stack overflows.


Delete(TInt)

IMPORT_C void Delete(TInt anIndex);

Description

Removes one element from the array.

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.

Parameters

TInt anIndex

The position within the array of the element to delete. The position is relative to zero.

Panic codes

E32USER-CBase

21, if anIndex is negative or greater than the number of elements currently in the array.


Delete(TInt,TInt)

IMPORT_C void Delete(TInt anIndex, TInt aCount);

Description

Removes one or more contiguous elements from the array, starting at the specified 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.

Parameters

TInt anIndex

The position within the array from where deletion of elements is to start. The position is relative to zero, i.e. zero implies that elements, starting with the first, are deleted from the array.

TInt aCount

The number of elements to be deleted from the array.

Panic codes

E32USER-CBase

21, if anIndex is negative or greater than or equal to the number of elements currently in the array.

E32USER-CBase

25, if aCount is negative.

E32USER-CBase

29, if the sum of anIndexPos and aCount is greater than the number of elements currently in the array.