THash(ulong hashSize,MemPool * pMemPool = 0)
| 原型 | THash(ulong hashSize,MemPool * pMemPool = 0) |
| 描述 | 构造Hash对象 |
| 参数 | [i]ulong hashSize: 期望的hash的节点规模,取值范围下限大于0,上限取决于内存空间大小。hashSize决定了m_ulModNumber的值(比m_ulHashSize/2大的质数) [i]MemPool * pMemPool = 0: 从外部指定用于分配节点空间的内存池,默认为不从外部指定,即为NULL |
| 返回值 | 无 |
bool insert(T *pData)
| 原型 | bool insert(T *pData) |
| 描述 | 将数据pData插入到Hash中 |
| 参数 | [i]T *pData: 插入的数据 |
| 返回值 | 若插入成功则返回true,若插入失败或者数据已在hash中返回false |
void remove(ulong id)
| 原型 | void remove(ulong id) |
| 描述 | 将数字标识为id的数据从Hash中删除 |
| 参数 | [i]ulong id: 需要删除的数据的数字标识 |
| 返回值 | 无 |
void clear()
| 原型 | void clear() |
| 描述 | 重置基本索引表为空白状态,释放由内存池分配的节点空间,如果内存池是自行创建,重置内存池 |
| 参数 | 无 |
| 返回值 | 无 |
T * getData(ulong id)
| 原型 | T * getData(ulong id) |
| 描述 | 获取数字标识为id的数据地址 |
| 参数 | [i]ulong id: 待获取数据的id |
| 返回值 | 若Hash中有匹配的数据,则返回数据的地址,否则返回NULL |
T * operator [] (ulong id)
| 原型 | T * operator [] (ulong id) |
| 描述 | 获取数字标识为id的数据地址 |
| 参数 | [i]ulong id: 待获取数据的id |
| 返回值 | 若Hash中有匹配的数据,则返回数据的地址,否则返回NULL |
ulong getCount()
| 原型 | ulong getCount() |
| 描述 | 获取节点总数 |
| 参数 | 无 |
| 返回值 | 节点总数 |
ulong getSize()
| 原型 | ulong getSize() |
| 描述 | 获取Hash表的大小 |
| 参数 | 无 |
| 返回值 | Hash基本索引表的长度 |
void setIterator(Iterator * pIter)
| 原型 | void setIterator(Iterator * pIter) |
| 描述 | 绑定遍历迭代器 |
| 参数 | [i]Iterator * pIter:遍历迭代器的指针,该指针必须有效 |
| 返回值 | 无 |