RHashTableBase Class Reference

#include <e32hashtab.h>

class RHashTableBase
Public Member Enumerations
enumTDefaultSpecifier { EDefaultSpecifier_Normal }
Protected Member Enumerations
enumTElementState { EEmpty, EDeleted, EGen0, EGen1, ..., EOccupiedMask }
Protected Member Functions
RHashTableBase(TGeneralHashFunction32, TGeneralIdentityRelation, TInt, TInt)
IMPORT_C voidClose()
IMPORT_C voidConsistencyCheck(TUint32 *, TUint32 *, TUint32, TUint32 *)
IMPORT_C TIntCount()
IMPORT_C TAny *Find(const TAny *, TInt)
IMPORT_C TAny *FindL(const TAny *, TInt)
TInt Insert(const TAny *, TAny *&)
IMPORT_C TIntPtrInsert(const TAny *, const TAny *)
IMPORT_C voidPtrInsertL(const TAny *, const TAny *)
IMPORT_C TIntRemove(const TAny *)
IMPORT_C TIntReserve(TInt)
IMPORT_C voidReserveL(TInt)
IMPORT_C TIntValueInsert(const TAny *, TInt, const TAny *, TInt, TInt)
IMPORT_C voidValueInsertL(const TAny *, TInt, const TAny *, TInt, TInt)

Detailed Description

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.

Member Enumeration Documentation

Enum TDefaultSpecifier

EnumeratorValueDescription
EDefaultSpecifier_Normal

Enum TElementState

EnumeratorValueDescription
EEmpty0
EDeleted1
EGen02
EGen13
EStateMask3
EOccupiedMask2

Constructor & Destructor Documentation

RHashTableBase ( TGeneralHashFunction32, TGeneralIdentityRelation, TInt, TInt )

IMPORT_CRHashTableBase(TGeneralHashFunction32,
TGeneralIdentityRelation,
TIntaElementSize,
TIntaKeyOffset
)[protected]

Member Function Documentation

Close ( )

IMPORT_C voidClose()[protected]

ConsistencyCheck ( TUint32 *, TUint32 *, TUint32, TUint32 * )

IMPORT_C voidConsistencyCheck(TUint32 *aDeleted = 0,
TUint32 *aComparisons = 0,
TUint32aChainLimit = 0,
TUint32 *aChainInfo = 0
)[protected]

Count ( )

IMPORT_C TIntCount()const [protected]

Find ( const TAny *, TInt )

IMPORT_C TAny *Find(const TAny *aKey,
TIntaOffset = 0
)const [protected]

FindL ( const TAny *, TInt )

IMPORT_C TAny *FindL(const TAny *aKey,
TIntaOffset = 0
)const [protected]

Insert ( const TAny *, TAny *& )

TInt Insert(const TAny *aKey,
TAny *&aElement
)[protected]

PtrInsert ( const TAny *, const TAny * )

IMPORT_C TIntPtrInsert(const TAny *aKey,
const TAny *aValue
)[protected]

PtrInsertL ( const TAny *, const TAny * )

IMPORT_C voidPtrInsertL(const TAny *aKey,
const TAny *aValue
)[protected]

Remove ( const TAny * )

IMPORT_C TIntRemove(const TAny *aKey)[protected]

Reserve ( TInt )

IMPORT_C TIntReserve(TIntaCount)[protected]

ReserveL ( TInt )

IMPORT_C voidReserveL(TIntaCount)[protected]

ValueInsert ( const TAny *, TInt, const TAny *, TInt, TInt )

IMPORT_C TIntValueInsert(const TAny *aKey,
TIntaKeySize,
const TAny *aValue,
TIntaValueOffset,
TIntaValueSize
)[protected]

ValueInsertL ( const TAny *, TInt, const TAny *, TInt, TInt )

IMPORT_C voidValueInsertL(const TAny *aKey,
TIntaKeySize,
const TAny *aValue,
TIntaValueOffset,
TIntaValueSize
)[protected]