The document provides an overview of array keys.
Keys are declared by client programs, and used in conjunction with the heap based array classes defined by the Dynamic Arrays API.
Keys are also used by the low-level sorting functions supplied by the System Static Functions API.
The API has four key concepts: abstract key base, fixed-length element array key, variable-length element array key, packed array key, and array element swap operation base.
A key specifies a data member within a type. It allows the caller to manipulate an array of elements of this type. The Symbian platform array classes have member functions for sorting, finding, and inserting elements by key.
Concrete classes are defined for each of the basic Symbian platform array types, fixed length, variable length, and packed.
Abstract key base
The abstract key base defines the characteristics of a key and defines the basic behaviour of keys. The most important properties of a key are:
location: defines which data member of the array element type should be used for sorting, etc.
type: whether the data member is a descriptor, text (NULL terminated string), or a number.
The abstract key base interface is provided by TKey .
Fixed-length array key
The fixed-length element array key specifies the key to be used with fixed-length element ( CArrayFix -based) arrays.
The abstract key base interface is provided by TKeyArrayFix .
Variable-length array key
The variable-length element array key specifies the key to be used with variable-length element ( CArrayVar -based) arrays, and for sorting packed ( CArrayPakFlat -based) arrays.
The variable length array key interface is provided by TKeyArrayVar .
Packed array key
The packed array key specifies the key to be used for searching and inserting elements by key with packed ( CArrayPakFlat -based) arrays.
The packed array key interface is provided by TKeyArrayPak .
Array element swap operation base
If a client uses the sort function provided by the System Static Functions API, instead of sorting through the Symbian platform array classes, it must define a class able to swap elements.
The array element swap operation base interface is provided by TSwap .
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License v1.0.