====== HashIterator ======
**//Inherited from//** Iterator,
**//Inherited by//** NULL
**//Friend class//** NULL
**//Description//**
HashIterator向THash和TComplexHash提供遍历元素功能。在使用前必须与数据容器绑定。下面所示为HashIterator使用代码:
THash hash;
HashIterator hIter;
hash.setContainer(&hIter);
hIter.reset();
T * pData;
while(pData = (T*)hIter.next())
{
...
}
**//Members//**
* LinkNode * [[hashiterator#m_ptablenode|m_pTableNode]]
* LinkNode * [[hashiterator#m_pcurnode|m_pCurNode]]
* LinkNode * [[hashiterator#m_phashlinktable|m_pHashLinkTable]]
* ulong [[hashiterator#m_ultablesize|m_ulTableSize]]
**//Public interface//**
* [[hashiterator#hashiterator1|HashIterator]](void * pHash = 0)
* void [[hashiterator#setcontainer|setContainer]](void *pContainer)
* void [[hashiterator#reset|reset]]()
* void * [[hashiterator#next|next]]()
**//Private interface//**
* void [[hashiterator#settcontainer|setTContainer]](THash * pContainer)
----
{{anchor:m_ptablenode}}
**LinkNode * m_pTableNode**
表征当前节点对应的index在BIT中的节点
{{anchor:m_pcurnode}}
**LinkNode * m_pCurNode**
当前节点
{{anchor:m_phashlinktable}}
**LinkNode * m_pHashLinkTable**
所属Hash的BIT
{{anchor:m_ultablesize}}
**ulong m_ulTableSize**
所属Hash的BIT大小
----
{{anchor:hashiterator1}}
**HashIterator(void * pHash = 0)**
*function: 构造HashIterator对象
*parameters:
- [i]void * pHash = 0: 指定HashIterator的宿主Hash,默认值为不指定
*return value: 无
{{anchor:setcontainer}}
**void setContainer(void *pContainer)**
*function: 指定宿主Hash
*parameters:
- [i]void *pContainer: 宿主容器Hash的指针
*return value: 无
{{anchor:reset}}
**void reset()**
*function: 重置迭代器到Hash的头部
*parameters: NULL
*return value: 无
{{anchor:next}}
**void * next()**
*function: 遍历宿主容器Hash的下一个元素
*parameters: NULL
*return value: 返回下一个元素的地址,若已经到达Hash尾部,则返回NULL
----
{{anchor:settcontainer}}
**void setTContainer(THash * pContainer)**
*function: 设置模板Hash宿主
*parameters:
- [i]THash * pContainer:模板Hash宿主的地址
*return value: 无