/** * 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 }
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 }