コード例 #1
0
/**
 * Get data value referenced by iterator.
 */
void _set_iterator_get_value(set_iterator_t it_iter, void* pv_value)
{
    assert(pv_value != NULL);
    assert(_GET_SET_CONTAINER_TYPE(it_iter) == _SET_CONTAINER); 
    assert(_GET_SET_ITERATOR_TYPE(it_iter) == _BIDIRECTIONAL_ITERATOR);

#ifdef CSTL_SET_AVL_TREE
    _avl_tree_iterator_get_value(it_iter, pv_value);
#else
    _rb_tree_iterator_get_value(it_iter, pv_value);
#endif
}
コード例 #2
0
ファイル: cstl_multimap.c プロジェクト: Masshat/C_and_CPP
void _multimap_iterator_get_value(
    const struct _tagmultimap* cpt_multimap, 
    const multimap_iterator_t* cpt_iterator, 
    void* pv_value)
{
    assert(cpt_multimap != NULL && cpt_iterator != NULL && pv_value != 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
    _avl_tree_iterator_get_value(
        _GET_MULTIMAP_AVL_TREE(cpt_multimap), cpt_iterator, pv_value);
#else
    _rb_tree_iterator_get_value(
        _GET_MULTIMAP_RB_TREE(cpt_multimap), cpt_iterator, pv_value);
#endif
}