omega_h
Reliable mesh adaptation
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Omega_h::Rb_tree< Key, Value, KeyOfValue, Compare > Class Template Reference
Inheritance diagram for Omega_h::Rb_tree< Key, Value, KeyOfValue, Compare >:
Omega_h::Rb_tree_base< Value > Omega_h::rb_tree< Key, std::pair< Key, Value >, Rb_first_as_key< Key, Value > > Omega_h::map< Key, Value >

Public Types

typedef Key key_type
 
typedef Value value_type
 
typedef value_type * pointer
 
typedef const value_type * const_pointer
 
typedef value_type & reference
 
typedef const value_type & const_reference
 
typedef Node_typeLink_type
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef Rb_tree_iterator< value_type, reference, pointer > iterator
 
typedef Rb_tree_iterator< value_type, const_reference, const_pointer > const_iterator
 

Public Member Functions

 Rb_tree (const Compare &comp)
 
 Rb_tree (const Rb_tree< Key, Value, KeyOfValue, Compare > &x)
 
Rb_tree< Key, Value, KeyOfValue, Compare > & operator= (const Rb_tree< Key, Value, KeyOfValue, Compare > &x)
 
Compare key_comp () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
bool empty () const
 
size_type size () const
 
size_type max_size () const
 
void swap (Rb_tree< Key, Value, KeyOfValue, Compare > &t)
 
std::pair< iterator, bool > insert (const value_type &x)
 
std::pair< iterator, bool > insert (value_type &&x)
 
iterator insert (iterator position, const value_type &x)
 
iterator insert (iterator position, value_type &&x)
 
template<class InputIterator >
void insert (InputIterator first, InputIterator last)
 
void erase (iterator position)
 
size_type erase (const key_type &x)
 
void erase (iterator first, iterator last)
 
void erase (const key_type *first, const key_type *last)
 
void clear ()
 
iterator find (const key_type &x)
 
const_iterator find (const key_type &x) const
 
size_type count (const key_type &x) const
 
iterator lower_bound (const key_type &x)
 
const_iterator lower_bound (const key_type &x) const
 
iterator upper_bound (const key_type &x)
 
const_iterator upper_bound (const key_type &x) const
 
std::pair< iterator, iteratorequal_range (const key_type &x)
 
std::pair< const_iterator, const_iteratorequal_range (const key_type &x) const
 
template<class II >
void insert (II first, II last)
 

Protected Types

typedef Rb_tree_node_baseBase_ptr
 
typedef Rb_tree_node< Value > Node_type
 
typedef Rb_tree_Color_type Color_type
 

Protected Member Functions

Link_type M_create_node (const value_type &x)
 
Link_type M_create_node (value_type &&x)
 
Link_type M_clone_node (Link_type x)
 
void destroy_node (Link_type p)
 
Link_typeM_root () const
 
Link_typeM_leftmost () const
 
Link_typeM_rightmost () const
 
- Protected Member Functions inherited from Omega_h::Rb_tree_base< Value >
Rb_tree_node< Value > * M_get_node ()
 
void M_put_node (Rb_tree_node< Value > *p)
 

Static Protected Member Functions

static Link_typeS_left (Link_type x)
 
static Link_typeS_right (Link_type x)
 
static Link_typeS_parent (Link_type x)
 
static reference S_value (Link_type x)
 
static const Key & S_key (Link_type x)
 
static Color_type & S_color (Link_type x)
 
static Link_typeS_left (Base_ptr x)
 
static Link_typeS_right (Base_ptr x)
 
static Link_typeS_parent (Base_ptr x)
 
static reference S_value (Base_ptr x)
 
static const Key & S_key (Base_ptr x)
 
static Color_type & S_color (Base_ptr x)
 
static Link_type S_minimum (Link_type x)
 
static Link_type S_maximum (Link_type x)
 

Protected Attributes

size_type M_node_count
 
Compare M_key_compare
 
- Protected Attributes inherited from Omega_h::Rb_tree_base< Value >
Rb_tree_node< Value > * M_header
 

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