Meets the requirements of a container, a reversible container, and an associative container (using unique keys). For a map<Key,T>
the key_type is Key, the mapped_type is T, and the value_type is std::pair<const Key,T>.
Maps support bidirectional iterators.
The private tree data is declared exactly the same way for map and multimap; the distinction is made entirely in how the tree functions are called (*_unique versus *_equal, same as the standard).
Definition at line 91 of file stl_map.h.
std::map< _Key, _Tp, _Compare, _Alloc >::map | ( | const _Compare & | __comp, | |
const allocator_type & | __a = allocator_type() | |||
) | [inline, explicit] |
std::map< _Key, _Tp, _Compare, _Alloc >::map | ( | _InputIterator | __first, | |
_InputIterator | __last | |||
) | [inline] |
Builds a map from a range.
first | An input iterator. | |
last | An input iterator. |
std::map< _Key, _Tp, _Compare, _Alloc >::map | ( | _InputIterator | __first, | |
_InputIterator | __last, | |||
const _Compare & | __comp, | |||
const allocator_type & | __a = allocator_type() | |||
) | [inline] |
Builds a map from a range.
first | An input iterator. | |
last | An input iterator. | |
comp | A comparison functor. | |
a | An allocator object. |
mapped_type& std::map< _Key, _Tp, _Compare, _Alloc >::at | ( | const key_type & | __k | ) | [inline] |
Access to map data.
k | The key for which data should be retrieved. |
std::out_of_range | If no such data is present. |
Definition at line 433 of file stl_map.h.
References __N, and std::lower_bound().
const_iterator std::map< _Key, _Tp, _Compare, _Alloc >::begin | ( | ) | const [inline] |
iterator std::map< _Key, _Tp, _Compare, _Alloc >::begin | ( | ) | [inline] |
Returns a read/write iterator that points to the first pair in the map. Iteration is done in ascending order according to the keys.
Definition at line 275 of file stl_map.h.
Referenced by __gnu_cxx::throw_allocator_base::check_allocated().
void std::map< _Key, _Tp, _Compare, _Alloc >::clear | ( | ) | [inline] |
size_type std::map< _Key, _Tp, _Compare, _Alloc >::count | ( | const key_type & | __x | ) | const [inline] |
Finds the number of elements with given key.
x | Key of (key, value) pairs to be located. |
bool std::map< _Key, _Tp, _Compare, _Alloc >::empty | ( | ) | const [inline] |
Returns true if the map is empty. (Thus begin() would equal end().)
Definition at line 384 of file stl_map.h.
Referenced by __gnu_cxx::throw_allocator_base::empty().
const_iterator std::map< _Key, _Tp, _Compare, _Alloc >::end | ( | ) | const [inline] |
iterator std::map< _Key, _Tp, _Compare, _Alloc >::end | ( | ) | [inline] |
Returns a read/write iterator that points one past the last pair in the map. Iteration is done in ascending order according to the keys.
Definition at line 293 of file stl_map.h.
Referenced by __gnu_cxx::throw_allocator_base::check_allocated(), and __gnu_cxx::throw_allocator_base::insert().
std::pair<const_iterator, const_iterator> std::map< _Key, _Tp, _Compare, _Alloc >::equal_range | ( | const key_type & | __x | ) | const [inline] |
Finds a subsequence matching given key.
x | Key of (key, value) pairs to be located. |
std::make_pair(c.lower_bound(val), c.upper_bound(val))
This function probably only makes sense for multimaps.
std::pair<iterator, iterator> std::map< _Key, _Tp, _Compare, _Alloc >::equal_range | ( | const key_type & | __x | ) | [inline] |
Finds a subsequence matching given key.
x | Key of (key, value) pairs to be located. |
std::make_pair(c.lower_bound(val), c.upper_bound(val))
This function probably only makes sense for multimaps.
void std::map< _Key, _Tp, _Compare, _Alloc >::erase | ( | iterator | __first, | |
iterator | __last | |||
) | [inline] |
Erases a [first,last) range of elements from a map.
first | Iterator pointing to the start of the range to be erased. | |
last | Iterator pointing to the end of the range to be erased. |
size_type std::map< _Key, _Tp, _Compare, _Alloc >::erase | ( | const key_type & | __x | ) | [inline] |
Erases elements according to the provided key.
x | Key of element to be erased. |
void std::map< _Key, _Tp, _Compare, _Alloc >::erase | ( | iterator | __position | ) | [inline] |
Erases an element from a map.
position | An iterator pointing to the element to be erased. |
Definition at line 522 of file stl_map.h.
Referenced by __gnu_cxx::throw_allocator_base::erase().
const_iterator std::map< _Key, _Tp, _Compare, _Alloc >::find | ( | const key_type & | __x | ) | const [inline] |
Tries to locate an element in a map.
x | Key of (key, value) pair to be located. |
end()
) iterator.
iterator std::map< _Key, _Tp, _Compare, _Alloc >::find | ( | const key_type & | __x | ) | [inline] |
Tries to locate an element in a map.
x | Key of (key, value) pair to be located. |
end()
) iterator.
Definition at line 614 of file stl_map.h.
Referenced by __gnu_cxx::throw_allocator_base::check_allocated(), and __gnu_cxx::throw_allocator_base::insert().
allocator_type std::map< _Key, _Tp, _Compare, _Alloc >::get_allocator | ( | ) | const [inline] |
void std::map< _Key, _Tp, _Compare, _Alloc >::insert | ( | _InputIterator | __first, | |
_InputIterator | __last | |||
) | [inline] |
iterator std::map< _Key, _Tp, _Compare, _Alloc >::insert | ( | iterator | __position, | |
const value_type & | __x | |||
) | [inline] |
Attempts to insert a std::pair into the map.
position | An iterator that serves as a hint as to where the pair should be inserted. | |
x | Pair to be inserted (see std::make_pair for easy creation of pairs). |
See http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4 for more on "hinting".
Insertion requires logarithmic time (if the hint is not taken).
std::pair<iterator, bool> std::map< _Key, _Tp, _Compare, _Alloc >::insert | ( | const value_type & | __x | ) | [inline] |
Attempts to insert a std::pair into the map.
x | Pair to be inserted (see std::make_pair for easy creation of pairs). |
Insertion requires logarithmic time.
Definition at line 468 of file stl_map.h.
Referenced by __gnu_cxx::throw_allocator_base::insert().
key_compare std::map< _Key, _Tp, _Compare, _Alloc >::key_comp | ( | ) | const [inline] |
const_iterator std::map< _Key, _Tp, _Compare, _Alloc >::lower_bound | ( | const key_type & | __x | ) | const [inline] |
Finds the beginning of a subsequence matching given key.
x | Key of (key, value) pair to be located. |
iterator std::map< _Key, _Tp, _Compare, _Alloc >::lower_bound | ( | const key_type & | __x | ) | [inline] |
Finds the beginning of a subsequence matching given key.
x | Key of (key, value) pair to be located. |
map& std::map< _Key, _Tp, _Compare, _Alloc >::operator= | ( | const map< _Key, _Tp, _Compare, _Alloc > & | __x | ) | [inline] |
Map assignment operator.
x | A map of identical element and allocator types. |
Definition at line 239 of file stl_map.h.
References std::map< _Key, _Tp, _Compare, _Alloc >::_M_t.
mapped_type& std::map< _Key, _Tp, _Compare, _Alloc >::operator[] | ( | const key_type & | __k | ) | [inline] |
Subscript ( [] ) access to map data.
k | The key for which data should be retrieved. |
[] ) operator. Returns data associated with the key specified in subscript. If the key does not exist, a pair with that key is created using default values, which is then returned.Lookup requires logarithmic time.
Definition at line 411 of file stl_map.h.
References __glibcxx_function_requires, and std::lower_bound().
const_reverse_iterator std::map< _Key, _Tp, _Compare, _Alloc >::rbegin | ( | ) | const [inline] |
reverse_iterator std::map< _Key, _Tp, _Compare, _Alloc >::rbegin | ( | ) | [inline] |
const_reverse_iterator std::map< _Key, _Tp, _Compare, _Alloc >::rend | ( | ) | const [inline] |
reverse_iterator std::map< _Key, _Tp, _Compare, _Alloc >::rend | ( | ) | [inline] |
void std::map< _Key, _Tp, _Compare, _Alloc >::swap | ( | map< _Key, _Tp, _Compare, _Alloc > & | __x | ) | [inline] |
Swaps data with another map.
x | A map of the same element and allocator types. |
Compare
type (which itself is often stateless and empty), so it should be quite fast.) Note that the global std::swap() function is specialized such that std::swap(m1,m2) will feed to this function.
Definition at line 570 of file stl_map.h.
References std::map< _Key, _Tp, _Compare, _Alloc >::_M_t.
Referenced by std::swap().
const_iterator std::map< _Key, _Tp, _Compare, _Alloc >::upper_bound | ( | const key_type & | __x | ) | const [inline] |
value_compare std::map< _Key, _Tp, _Compare, _Alloc >::value_comp | ( | ) | const [inline] |