#include <stl_map.h>
Collaboration diagram for std::map< Key, Type, Compare, Alloc >:
Public Types | |
typedef Key | key_type |
typedef Type | mapped_type |
typedef pair< const Key, Type > | value_type |
typedef Compare | key_compare |
typedef Rep_type::allocator_type | allocator_type |
typedef Rep_type::reference | reference |
typedef Rep_type::const_reference | const_reference |
typedef Rep_type::iterator | iterator |
typedef Rep_type::const_iterator | const_iterator |
typedef Rep_type::size_type | size_type |
typedef Rep_type::difference_type | difference_type |
typedef Rep_type::pointer | pointer |
typedef Rep_type::const_pointer | const_pointer |
typedef Rep_type::reverse_iterator | reverse_iterator |
typedef Rep_type::const_reverse_iterator | const_reverse_iterator |
Public Member Functions | |
map () | |
Default constructor creates no elements. | |
map (const Compare &comp, const allocator_type &a=allocator_type()) | |
Default constructor creates no elements. | |
map (const map &x) | |
Map copy constructor. | |
template<typename InputIterator> | |
map (InputIterator first, InputIterator last) | |
Builds a map from a range. | |
template<typename InputIterator> | |
map (InputIterator first, InputIterator last, const Compare &comp, const allocator_type &a=allocator_type()) | |
Builds a map from a range. | |
map & | operator= (const map &x) |
Map assignment operator. | |
allocator_type | get_allocator () const |
Get a copy of the memory allocation object. | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
bool | empty () const |
size_type | size () const |
size_type | max_size () const |
mapped_type & | operator[] (const key_type &__k) |
Subscript ( [] ) access to map data. | |
pair< iterator, bool > | insert (const value_type &x) |
Attempts to insert a std::pair into the map. | |
iterator | insert (iterator position, const value_type &x) |
Attempts to insert a std::pair into the map. | |
template<typename InputIterator> | |
void | insert (InputIterator first, InputIterator last) |
A template function that attemps to insert a range of elements. | |
void | erase (iterator position) |
Erases an element from a map. | |
size_type | erase (const key_type &x) |
Erases elements according to the provided key. | |
void | erase (iterator first, iterator last) |
Erases a [first,last) range of elements from a map. | |
void | swap (map &x) |
Swaps data with another map. | |
void | clear () |
key_compare | key_comp () const |
value_compare | value_comp () const |
iterator | find (const key_type &x) |
Tries to locate an element in a map. | |
const_iterator | find (const key_type &x) const |
Tries to locate an element in a map. | |
size_type | count (const key_type &x) const |
Finds the number of elements with given key. | |
iterator | lower_bound (const key_type &x) |
Finds the beginning of a subsequence matching given key. | |
const_iterator | lower_bound (const key_type &x) const |
Finds the beginning of a subsequence matching given key. | |
iterator | upper_bound (const key_type &x) |
Finds the end of a subsequence matching given key. | |
const_iterator | upper_bound (const key_type &x) const |
Finds the end of a subsequence matching given key. | |
pair< iterator, iterator > | equal_range (const key_type &x) |
Finds a subsequence matching given key. | |
pair< const_iterator, const_iterator > | equal_range (const key_type &x) const |
Finds a subsequence matching given key. | |
Private Types | |
typedef Rb_tree< key_type, value_type, Select1st< value_type >, key_compare, Alloc > | Rep_type |
Private Attributes | |
Rep_type | M_t |
Classes | |
class | value_compare |
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.
Definition at line 91 of file stl_map.h.
std::map< Key, Type, Compare, Alloc >::map | ( | const Compare & | comp, | |
const allocator_type & | a = allocator_type() | |||
) | [inline, explicit] |
std::map< Key, Type, Compare, Alloc >::map | ( | InputIterator | first, | |
InputIterator | last | |||
) | [inline] |
Builds a map from a range.
Create a map consisting of copies of the elements from [first,last). This is linear in N if the range is already sorted, and NlogN otherwise (where N is distance(first,last)).
std::map< Key, Type, Compare, Alloc >::map | ( | InputIterator | first, | |
InputIterator | last, | |||
const Compare & | comp, | |||
const allocator_type & | a = allocator_type() | |||
) | [inline] |
Builds a map from a range.
Create a map consisting of copies of the elements from [first,last). This is linear in N if the range is already sorted, and NlogN otherwise (where N is distance(first,last)).
allocator_type std::map< Key, Type, Compare, Alloc >::get_allocator | ( | ) | const [inline] |
const_iterator std::map< Key, Type, Compare, Alloc >::begin | ( | ) | const [inline] |
iterator std::map< Key, Type, 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 243 of file stl_map.h.
Referenced by std::map< Key, Type, Compare, Alloc >::operator[]().
const_iterator std::map< Key, Type, Compare, Alloc >::end | ( | ) | const [inline] |
reverse_iterator std::map< Key, Type, Compare, Alloc >::rbegin | ( | ) | [inline] |
const_reverse_iterator std::map< Key, Type, Compare, Alloc >::rbegin | ( | ) | const [inline] |
reverse_iterator std::map< Key, Type, Compare, Alloc >::rend | ( | ) | [inline] |
const_reverse_iterator std::map< Key, Type, Compare, Alloc >::rend | ( | ) | const [inline] |
bool std::map< Key, Type, Compare, Alloc >::empty | ( | ) | const [inline] |
mapped_type& std::map< Key, Type, 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 311 of file stl_map.h.
References __glibcpp_function_requires, std::map< Key, Type, Compare, Alloc >::end(), std::map< Key, Type, Compare, Alloc >::insert(), std::map< Key, Type, Compare, Alloc >::key_comp(), and std::map< Key, Type, Compare, Alloc >::lower_bound().
pair<iterator,bool> std::map< Key, Type, 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 339 of file stl_map.h.
Referenced by std::map< Key, Type, Compare, Alloc >::operator[]().
iterator std::map< Key, Type, 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).
void std::map< Key, Type, Compare, Alloc >::insert | ( | InputIterator | first, | |
InputIterator | last | |||
) | [inline] |
void std::map< Key, Type, Compare, Alloc >::erase | ( | iterator | position | ) | [inline] |
Erases an element from a map.
position | An iterator pointing to the element to be erased. |
size_type std::map< Key, Type, 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, Type, 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. |
void std::map< Key, Type, Compare, Alloc >::swap | ( | map< Key, Type, 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 430 of file stl_map.h.
Referenced by std::swap().
void std::map< Key, Type, Compare, Alloc >::clear | ( | ) | [inline] |
key_compare std::map< Key, Type, Compare, Alloc >::key_comp | ( | ) | const [inline] |
Returns the key comparison object out of which the map was constructed.
Definition at line 446 of file stl_map.h.
Referenced by std::map< Key, Type, Compare, Alloc >::operator[]().
value_compare std::map< Key, Type, Compare, Alloc >::value_comp | ( | ) | const [inline] |
iterator std::map< Key, Type, 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.
const_iterator std::map< Key, Type, 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.
size_type std::map< Key, Type, 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. |
iterator std::map< Key, Type, 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. |
Definition at line 508 of file stl_map.h.
Referenced by std::map< Key, Type, Compare, Alloc >::operator[]().
const_iterator std::map< Key, Type, 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. |
const_iterator std::map< Key, Type, Compare, Alloc >::upper_bound | ( | const key_type & | x | ) | const [inline] |
pair<iterator,iterator> std::map< Key, Type, Compare, Alloc >::equal_range | ( | const key_type & | x | ) | [inline] |
Finds a subsequence matching given key.
x | Key of (key, value) pairs to be located. |
This function only makes sense for multimaps.
pair<const_iterator,const_iterator> std::map< Key, Type, 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. |
This function only makes sense for multimaps.