语法

#include <plhash.h>

typedef PRIntn (PR_CALLBACK *PLHashEnumerator)(PLHashEntry *he, PRIntn index, void *arg);

/* Return value */
#define HT_ENUMERATE_NEXT     0   /* continue enumerating entries */
#define HT_ENUMERATE_STOP     1   /* stop enumerating entries */
#define HT_ENUMERATE_REMOVE   2   /* remove and free the current entry */
#define HT_ENUMERATE_UNHASH   4   /* just unhash the current entry */

描述

PLHashEnumerator 是一个函数类型,用于枚举散列表。当枚举完所有表项后,每个表项都会作为参数传递给用户指定的 PLHashEnumerator 类型函数,以及散列表项、整数索引和任意用户数据。

备注

HT_ENUMERATE_UNHASH 的含义尚不清楚。在当前的实现中,它将使散列表处于不一致状态。表项从表中解除链接,但没有被释放,而表项计数(PLHashTable 结构的 nentries 字段)没有递减。

另请参阅

PL_HashTableEnumerateEntries