Templated class, defined and implimented in file: hzTmplMapM.h

The hzMapM template provides a memory resident one to many map of keys (class KEY) to objects (class OBJ). Although there can be many objects with the same key the hzMapM template uses the same _hz_map_Pair ISAM as hzMapS - meaning that the key is repeated for each object associated with it. Note for any given key, objects are inserted in the order of incidence so the insert location is always one place after the last.

Constructors/Detructors

hzMapM*hzMapM(hzMapM<KEY,OBJ>&)
hzMapM*hzMapM(void)
hzMapM*hzMapM(hzLockOpt eLock)
hzMapM*hzMapM(hzString& name)
hzMapM*hzMapM(hzLockOpt eLock)hzString& name,
void~hzMapM(void)

Public Methods:

voidClear(void)
uint32_tCount(void)
hzEcodeDelete(KEY& key)
hzEcodeDelete(uint32_t nPosn)
boolExists(KEY& key)
int32_tFirst(KEY key)
KEY&GetKey(uint32_t nIndex)
OBJ&GetObj(uint32_t nIndex)
hzEcodeInsert(KEY& key)OBJ& obj,
int32_tLast(KEY key)
hzEcodeNodeErrors(void)
hzEcodeNodeReport(void)
uint32_tNodes(void)
voidSetLock(hzLockOpt eLock)
voidSetName(hzString& name)
int32_tTarget(KEY key)

Overloaded operators:

hzMapM<KEY,OBJ>&operator=(hzMapM<KEY,OBJ>&)
OBJ&operator[](KEY& key)

Member Variables:

_hz_tmpl_ISAMbase_hz_set_isam_Value ordered list by value
KEYm_DefaultKeyDefault key (effectively NULL)
OBJm_DefaultObjDefault key (effectively NULL)
KEYm_NullKeyNull key
OBJm_NullObjNull key