class RHashTableBase |
Base class used in the derivation of RHashSet<T>, RPtrHashSet<T>, RHashMap<K,V> and RPtrHashMap<K,V>.
This class provides a general hash table implementation using probe sequences generated by pseudo-double hashing. The class is internal and is not intended for use.
Protected Member Functions | |
---|---|
RHashTableBase(TGeneralHashFunction32, TGeneralIdentityRelation, TInt, TInt) | |
IMPORT_C void | Close() |
IMPORT_C void | ConsistencyCheck(TUint32 *, TUint32 *, TUint32, TUint32 *) |
IMPORT_C TInt | Count() |
IMPORT_C TAny * | Find(const TAny *, TInt) |
IMPORT_C TAny * | FindL(const TAny *, TInt) |
TInt | Insert(const TAny *, TAny *&) |
IMPORT_C TInt | PtrInsert(const TAny *, const TAny *) |
IMPORT_C void | PtrInsertL(const TAny *, const TAny *) |
IMPORT_C TInt | Remove(const TAny *) |
IMPORT_C TInt | Reserve(TInt) |
IMPORT_C void | ReserveL(TInt) |
IMPORT_C TInt | ValueInsert(const TAny *, TInt, const TAny *, TInt, TInt) |
IMPORT_C void | ValueInsertL(const TAny *, TInt, const TAny *, TInt, TInt) |
Private Member Functions | |
---|---|
SElement * | Element(TInt) |
const SElement * | ElementC(TInt) |
TInt | ExpandTable(TInt) |
TAny * | GetKey(const SElement *) |
void | ReformTable(TUint) |
void | SetThresholds() |
void | ShrinkTable() |
void | VerifyReform() |
Public Member Enumerations | |
---|---|
enum | TDefaultSpecifier { EDefaultSpecifier_Normal } |
Protected Member Enumerations | |
---|---|
enum | TElementState { EEmpty = 0, EDeleted = 1, EGen0 = 2, EGen1 = 3, EStateMask = 3, EOccupiedMask = 2 } |
IMPORT_C | RHashTableBase | ( | TGeneralHashFunction32 | , |
TGeneralIdentityRelation | , | |||
TInt | aElementSize, | |||
TInt | aKeyOffset | |||
) | [protected] |
TGeneralHashFunction32 | |
TGeneralIdentityRelation | |
TInt aElementSize | |
TInt aKeyOffset |
IMPORT_C void | ConsistencyCheck | ( | TUint32 * | aDeleted = 0, |
TUint32 * | aComparisons = 0, | |||
TUint32 | aChainLimit = 0, | |||
TUint32 * | aChainInfo = 0 | |||
) | [protected] |
TAny * | GetKey | ( | const SElement * | aElement | ) | const [private, inline] |
const SElement * aElement |
IMPORT_C TInt | PtrInsert | ( | const TAny * | aKey, |
const TAny * | aValue | |||
) | [protected] |
IMPORT_C void | PtrInsertL | ( | const TAny * | aKey, |
const TAny * | aValue | |||
) | [protected] |
IMPORT_C TInt | ValueInsert | ( | const TAny * | aKey, |
TInt | aKeySize, | |||
const TAny * | aValue, | |||
TInt | aValueOffset, | |||
TInt | aValueSize | |||
) | [protected] |
IMPORT_C void | ValueInsertL | ( | const TAny * | aKey, |
TInt | aKeySize, | |||
const TAny * | aValue, | |||
TInt | aValueOffset, | |||
TInt | aValueSize | |||
) | [protected] |
EEmpty = 0 | |
EDeleted = 1 | |
EGen0 = 2 | |
EGen1 = 3 | |
EStateMask = 3 | |
EOccupiedMask = 2 |