Ejemplo n.º 1
0
set_iterator_t set_rbegin(const set_t* cpset_set)
{
    set_iterator_t it_rbegin;

    assert(cpset_set != NULL);

#ifdef CSTL_SET_AVL_TREE
    it_rbegin = _avl_tree_rbegin(&cpset_set->_t_tree);
#else
    it_rbegin = _rb_tree_rbegin(&cpset_set->_t_tree);
#endif

    _ITERATOR_CONTAINER(it_rbegin) = (set_t*)cpset_set;
    _SET_ITERATOR_CONTAINER_TYPE(it_rbegin) = _SET_CONTAINER;
    _SET_ITERATOR_ITERATOR_TYPE(it_rbegin) = _BIDIRECTIONAL_ITERATOR;

    return it_rbegin;
}
Ejemplo n.º 2
0
multimap_reverse_iterator_t multimap_rbegin(const multimap_t* cpt_multimap)
{
    multimap_reverse_iterator_t t_newiterator;

    assert(cpt_multimap != NULL);

#ifdef CSTL_MULTIMAP_AVL_TREE
    t_newiterator = _avl_tree_rbegin(_GET_MULTIMAP_AVL_TREE(cpt_multimap));
#else
    t_newiterator = _rb_tree_rbegin(_GET_MULTIMAP_RB_TREE(cpt_multimap));
#endif

    _GET_CONTAINER(&t_newiterator) = (multimap_t*)cpt_multimap;
    _GET_MULTIMAP_CONTAINER_TYPE(&t_newiterator) = _MULTIMAP_CONTAINER;
    _GET_MULTIMAP_ITERATOR_TYPE(&t_newiterator) = _BIDIRECTIONAL_ITERATOR;

    return t_newiterator;
}
Ejemplo n.º 3
0
map_reverse_iterator_t map_rbegin(const map_t* cpmap_map)
{
    map_reverse_iterator_t it_rbegin;

    assert(cpmap_map != NULL);
    assert(_pair_is_inited(&cpmap_map->_pair_temp));

#ifdef CSTL_MAP_AVL_TREE
    it_rbegin = _avl_tree_rbegin(&cpmap_map->_t_tree);
#else
    it_rbegin = _rb_tree_rbegin(&cpmap_map->_t_tree);
#endif

    _GET_CONTAINER(it_rbegin) = (map_t*)cpmap_map;
    _GET_MAP_CONTAINER_TYPE(it_rbegin) = _MAP_CONTAINER;
    _GET_MAP_ITERATOR_TYPE(it_rbegin) = _BIDIRECTIONAL_ITERATOR;

    return it_rbegin;
}