Esempio n. 1
0
/**
 * Get data value pointer referenced by iterator.
 */
const void* _set_iterator_get_pointer(set_iterator_t it_iter)
{
    assert(_GET_SET_CONTAINER_TYPE(it_iter) == _SET_CONTAINER);
    assert(_GET_SET_ITERATOR_TYPE(it_iter) == _BIDIRECTIONAL_ITERATOR); 

#ifdef CSTL_SET_AVL_TREE
    return _avl_tree_iterator_get_pointer(it_iter);
#else
    return _rb_tree_iterator_get_pointer(it_iter);
#endif
}
Esempio n. 2
0
const void* _multimap_iterator_get_pointer(
    const struct _tagmultimap* cpt_multimap, const multimap_iterator_t* cpt_iterator)
{
    assert(cpt_multimap != NULL && cpt_iterator != NULL);
    assert(
        _GET_MULTIMAP_CONTAINER_TYPE(cpt_iterator) == _MULTIMAP_CONTAINER &&
        _GET_MULTIMAP_ITERATOR_TYPE(cpt_iterator) == _BIDIRECTIONAL_ITERATOR &&
        _GET_MULTIMAP_CONTAINER(cpt_iterator) == cpt_multimap);

#ifdef CSTL_MULTIMAP_AVL_TREE
    return _avl_tree_iterator_get_pointer(
        _GET_MULTIMAP_AVL_TREE(cpt_multimap), cpt_iterator);
#else
    return _rb_tree_iterator_get_pointer(
        _GET_MULTIMAP_RB_TREE(cpt_multimap), cpt_iterator);
#endif
}