15#include <l4/cxx/std_alloc> 
   16#include <l4/cxx/std_ops> 
   24template<
typename KEY_TYPE>
 
   27  typedef KEY_TYPE Key_type;
 
   28  template<
typename NODE>
 
   29  static Key_type 
const &key_of(NODE 
const *n)
 
   30  { 
return n->item.first; }
 
 
 
   42template< 
typename KEY_TYPE, 
typename DATA_TYPE,
 
   43  template<
typename A> 
class COMPARE = 
Lt_functor,
 
   47                            COMPARE<KEY_TYPE>, ALLOC,
 
   48                            Bits::Avl_map_get_key<KEY_TYPE> >
 
  102  template<
typename... Args>
 
  104  { 
return Base_type::emplace(cxx::forward<Args>(args)...); }
 
 
Avl_map(Node_allocator const &alloc=Node_allocator())
Create an empty AVL-tree based map.
 
cxx::Lt_functor< Region > Key_compare
 
Base_type::Node_allocator Node_allocator
 
cxx::Pair< Iterator, int > insert(Key_type const &key, Data_type const &data)
Insert a <key, data> pair into the map.
 
Data_type const & operator[](Key_type const &key) const
Get the data for the given key.
 
A smart pointer to a tree item.
 
Internal: AVL set with internally managed nodes.
 
Avl_set_iter< _Node, Item_type, Fwd > Iterator
Forward iterator for the set.
 
Node find_node(Key_type const &item) const
 
Avl_set_iter< _Node, Item_type, Rev > Rev_iterator
Backward iterator for the set.
 
ALLOC< _Node > Node_allocator
Type for the node allocator.
 
Avl_set_iter< _Node, Const_item_type, Rev > Const_rev_iterator
Constant backward iterator for the set.
 
cxx::Pair< Iterator, int > insert(Item_type const &item)
 
Avl_set_iter< _Node, Const_item_type, Fwd > Const_iterator
Constant forward iterator for the set.
 
Standard allocator based on operator new () .
 
Internal helpers for the cxx package.
 
Generic comparator class that defaults to the less-than operator.
 
Second second
Second value.