libstdc++
__gnu_pbds::detail::rb_tree_map< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc > Class Template Reference

Inherits bin_search_tree_map< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc >.

Public Types

typedef _Alloc allocator_type
 
typedef Cmp_Fn cmp_fn
 
typedef base_type::const_iterator const_iterator
 
typedef base_type::const_pointer const_pointer
 
typedef base_type::const_reference const_reference
 
typedef base_type::const_reverse_iterator const_reverse_iterator
 
typedef rb_tree_tag container_category
 
typedef _Alloc::difference_type difference_type
 
typedef base_type::iterator iterator
 
typedef base_type::key_const_pointer key_const_pointer
 
typedef base_type::key_const_reference key_const_reference
 
typedef base_type::key_pointer key_pointer
 
typedef base_type::key_reference key_reference
 
typedef base_type::key_type key_type
 
typedef base_type::mapped_const_pointer mapped_const_pointer
 
typedef base_type::mapped_const_reference mapped_const_reference
 
typedef base_type::mapped_pointer mapped_pointer
 
typedef base_type::mapped_reference mapped_reference
 
typedef base_type::mapped_type mapped_type
 
typedef base_type::node_update node_update
 
typedef base_type::const_iterator point_const_iterator
 
typedef base_type::point_iterator point_iterator
 
typedef base_type::pointer pointer
 
typedef base_type::reference reference
 
typedef base_type::reverse_iterator reverse_iterator
 
typedef _Alloc::size_type size_type
 
typedef base_type::value_type value_type
 

Public Member Functions

 rb_tree_map (const Cmp_Fn &)
 
 rb_tree_map (const Cmp_Fn &, const node_update &)
 
 rb_tree_map (const rb_tree_map< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc > &)
 
template<typename It >
void copy_from_range (It, It)
 
bool erase (key_const_reference)
 
iterator erase (iterator)
 
reverse_iterator erase (reverse_iterator)
 
template<typename Pred >
size_type erase_if (Pred)
 
std::pair< point_iterator, bool > insert (const_reference)
 
void join (rb_tree_map< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc > &)
 
mapped_reference operator[] (key_const_reference r_key)
 
void split (key_const_reference, rb_tree_map< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc > &)
 
void swap (rb_tree_map< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc > &)
 

Detailed Description

template<typename Key, typename Mapped, typename Cmp_Fn, typename Node_And_It_Traits, typename _Alloc>
class __gnu_pbds::detail::rb_tree_map< Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc >

Red-Black tree.

This implementation uses an idea from the SGI STL (using a header node which is needed for efficient iteration).

Definition at line 84 of file rb_tree_.hpp.


The documentation for this class was generated from the following file: