本文整理汇总了C++中SortedListPtr::DF方法的典型用法代码示例。如果您正苦于以下问题:C++ SortedListPtr::DF方法的具体用法?C++ SortedListPtr::DF怎么用?C++ SortedListPtr::DF使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SortedListPtr
的用法示例。
在下文中一共展示了SortedListPtr::DF方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SLDestroy
void SLDestroy(SortedListPtr list)
{
node *p = list->base->next;
// destroy every node in the list until reach the end of the list
while (p != list->base) {
p->prev->next = p->next;
p->next->prev = p->prev;
list->DF(p->data);
free(p);
p = list->base->next;
}
free(list->base);
free(list);
}
示例2: SLRemove
int SLRemove(SortedListPtr list, void *newObj)
{
node *p = list->base->next;
// find the first item equal to newObj
while (p != list->base) {
if (list->CF(newObj, p->data) == 0) {
break;
}
p = p->next;
}
// if not find an item equal to newObj
if (p == list->base)
return 0;
p->next->prev = p->prev;
p->prev->next = p->next;
//if there is no iterator "pointing" to this item, free it.
if (p->refByItrCount == 0) {
list->DF(p->data);
free(p);
}
p->next = NULL;
p->prev = NULL;
return 1;
}