L4Re - L4 Runtime Environment
|
AVL tree based associative container. More...
Public Types | |
typedef COMPARE< KEY_TYPE > | Key_compare |
Type of the comparison functor. | |
typedef KEY_TYPE | Key_type |
Type of the key values. | |
typedef DATA_TYPE | Data_type |
Type of the data values. | |
typedef Base_type::Node | Node |
Return type for find. | |
typedef Base_type::Node_allocator | Node_allocator |
Type of the allocator. | |
![]() | |
typedef Pair< KEY_TYPE, DATA_TYPE > | Item_type |
Type for the items store in the set. | |
typedef Bits::Avl_map_get_key< KEY_TYPE > | Get_key |
Key-getter type to derive the sort key of an internal node. | |
typedef Bits::Avl_map_get_key< KEY_TYPE > ::Key_type | Key_type |
Type of the sort key used for the items. | |
typedef Type_traits< Item_type >::Const_type | Const_item_type |
Type used for const items within the set. | |
typedef COMPARE< KEY_TYPE > | Item_compare |
Type for the comparison functor. | |
typedef ALLOC< _Node > | Node_allocator |
Type for the node allocator. | |
typedef Avl_set_iter< _Node, Item_type, Fwd > | Iterator |
Forward iterator for the set. | |
typedef Avl_set_iter< _Node, Const_item_type, Fwd > | Const_iterator |
Constant forward iterator for the set. | |
typedef Avl_set_iter< _Node, Item_type, Rev > | Rev_iterator |
Backward iterator for the set. | |
typedef Avl_set_iter< _Node, Const_item_type, Rev > | Const_rev_iterator |
Constant backward iterator for the set. | |
Public Member Functions | |
Avl_map (Node_allocator const &alloc=Node_allocator()) | |
Create an empty AVL-tree based map. More... | |
cxx::Pair< Iterator, int > | insert (Key_type const &key, Data_type const &data) |
Insert a <key, data> pair into the map. More... | |
Data_type const & | operator[] (Key_type const &key) const |
Get the data for the given key. More... | |
Data_type & | operator[] (Key_type const &key) |
Get or insert data for the given key. More... | |
![]() | |
Base_avl_set (Node_allocator const &alloc=Node_allocator()) | |
Create a AVL-tree based set. More... | |
Base_avl_set (Base_avl_set const &o) | |
Create a copy of an AVL-tree based set. More... | |
cxx::Pair< Iterator, int > | insert (Item_type const &item) |
Insert an item into the set. More... | |
int | remove (Key_type const &item) |
Remove an item from the set. More... | |
int | erase (Key_type const &item) |
Erase the item with the given key. More... | |
Node | find_node (Key_type const &item) const |
Lookup a node equal to item . More... | |
Node | lower_bound_node (Key_type const &key) const |
Find the first node greater or equal to key . More... | |
Const_iterator | begin () const |
Get the constant forward iterator for the first element in the set. More... | |
Iterator | begin () |
Get the mutable forward iterator for the first element of the set. More... | |
Const_iterator | end () const |
Get the end marker for the constant forward iterator. More... | |
Iterator | end () |
Get the end marker for the mutable forward iterator. More... | |
Const_rev_iterator | rbegin () const |
Get the constant backward iterator for the last element in the set. More... | |
Rev_iterator | rbegin () |
Get the mutable backward iterator for the last element of the set. More... | |
Const_rev_iterator | rend () const |
Get the end marker for the constant backward iterator. More... | |
Rev_iterator | rend () |
Get the end marker for the mutable backward iterator. More... | |
AVL tree based associative container.
KEY_TYPE | Type of the key values. |
DATA_TYPE | Type of the data values. |
COMPARE | Type comparison functor for the key values. |
ALLOC | Type of the allocator used for the nodes. |
|
inline |
|
inline |
Insert a <key, data> pair into the map.
key | The key value. |
data | The data value to insert. |
first
) and return value (second
). second
will be 0 if the element was inserted into the set and -E_exist
if an element is already in the set. In both cases, first
contains an iterator that points to the element. second
may also be -E_nomem
when memory for the new node could not be allocated. first
is then invalid.
|
inline |
|
inline |
Get or insert data for the given key.
key | The key value to use for lookup. |