语法¶
#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
字段)没有递减。