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