예제 #1
0
bool
tree_iterator_prev_n(void* Iterator, size_t count)
{
    ASSERT(Iterator != NULL);
    tree_iterator* iterator = Iterator;
    ASSERT(iterator->tree != NULL);
    while (iterator->node && count--)
	iterator->node = tree_node_prev(iterator->node);
    return iterator->node != NULL;
}
예제 #2
0
bool
tree_iterator_prev(void* Iterator)
{
    ASSERT(Iterator != NULL);
    tree_iterator* iterator = Iterator;
    ASSERT(iterator->tree != NULL);
    if (iterator->node)
	return (iterator->node = tree_node_prev(iterator->node)) != NULL;
    return false;
}
예제 #3
0
bool
tr_itor_prev(tr_itor* itor)
{
    ASSERT(itor != NULL);

    if (!itor->node)
	tr_itor_last(itor);
    else
	itor->node = tree_node_prev(itor->node);
    return itor->node != NULL;
}