User Tools

Site Tools


class:kernel:hashiterator

HashIterator

Inherited from Iterator,

Inherited by NULL

Friend class NULL

Description

HashIterator向THash和TComplexHash提供遍历元素功能。在使用前必须与数据容器绑定。下面所示为HashIterator使用代码:

THash<T> hash;
HashIterator hIter;
hash.setContainer(&hIter);
hIter.reset();
T * pData;
while(pData = (T*)hIter.next())
{
  ...
}

Members

Public interface

Private interface


LinkNode * m_pTableNode

表征当前节点对应的index在BIT中的节点

LinkNode * m_pCurNode

当前节点

LinkNode * m_pHashLinkTable

所属Hash的BIT

ulong m_ulTableSize

所属Hash的BIT大小


HashIterator(void * pHash = 0)

  • function: 构造HashIterator对象
  • parameters:
    1. [i]void * pHash = 0: 指定HashIterator的宿主Hash,默认值为不指定
  • return value: 无

void setContainer(void *pContainer)

  • function: 指定宿主Hash
  • parameters:
    1. [i]void *pContainer: 宿主容器Hash的指针
  • return value: 无

void reset()

  • function: 重置迭代器到Hash的头部
  • parameters: NULL
  • return value: 无

void * next()

  • function: 遍历宿主容器Hash的下一个元素
  • parameters: NULL
  • return value: 返回下一个元素的地址,若已经到达Hash尾部,则返回NULL

void setTContainer(THash<T> * pContainer)

  • function: 设置模板Hash宿主
  • parameters:
    1. [i]THash<T> * pContainer:模板Hash宿主的地址
  • return value: 无
class/kernel/hashiterator.txt · Last modified: 2020/06/20 22:43 (external edit)