本文整理汇总了C++中hashtable::isequal方法的典型用法代码示例。如果您正苦于以下问题:C++ hashtable::isequal方法的具体用法?C++ hashtable::isequal怎么用?C++ hashtable::isequal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hashtable
的用法示例。
在下文中一共展示了hashtable::isequal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ht_remove
/* does not free, regardless of the value of
ht->free_keyval, invoked only when deleting. */
boolean ht_remove(hashtable ht, const void *key) {
unsigned int hkey;
hashentry *he, *prehe;
assert(ht!=NULL);
hkey = ht->hash(key);
prehe = NULL;
LOCK;
he = ht->table[hkey%ht->table_size];
while(he!=NULL) {
if(he->hashkey == hkey && ht->isequal(he->keyval,key)) {
if(prehe != NULL) {
prehe->next = he->next;
} else {
ht->table[hkey%ht->table_size] = he->next;
}
UNLOCK;
free(he);
return TRUE;
}
prehe = he;
he = he->next;
}
UNLOCK;
return FALSE;
}