struct ltstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) < 0;
}
};
int main()
{
map<const char*, int, ltstr> months;
months["january"] = 31;
months["february"] = 28;
months["march"] = 31;
months["april"] = 30;
months["may"] = 31;
months["june"] = 30;
months["july"] = 31;
months["august"] = 31;
months["september"] = 30;
months["october"] = 31;
months["november"] = 30;
months["december"] = 31;
cout << "june -> " << months["june"] << endl;
map<const char*, int, ltstr>::iterator cur = months.find("june");
map<const char*, int, ltstr>::iterator prev = cur;
map<const char*, int, ltstr>::iterator next = cur;
++next;
--prev;
cout << "Previous (in alphabetical order) is " << (*prev).first << endl;
cout << "Next (in alphabetical order) is " << (*next).first << endl;
}
None.
Member | Where defined | Description |
key_type | AssociativeContainer | The map 's key type, Key . |
data_type | PairAssociativeContainer | The type of object associated with the keys. |
value_type | PairAssociativeContainer | The type of object, pair<const key_type, data_type> , stored in the map. |
key_compare | SortedAssociativeContainer | functors that compares two keys for ordering. |
value_compare | SortedAssociativeContainer | functors that compares two values for ordering. |
pointer | Container | Pointer to T . |
reference | Container | Reference to T |
const_reference | Container | Const reference to T |
size_type | Container | An unsigned integral type. |
difference_type | Container | A signed integral type. |
iterator | Container | Iterator used to iterate through a map . [1] |
const_iterator | Container | Const iterator used to iterate through a map . |
reverse_iterator | ReversibleContainer | Iterator used to iterate backwards through a map . [1] |
const_reverse_iterator | ReversibleContainer | Const iterator used to iterate backwards through a map . |
iterator begin() | Container | Returns an iterator pointing to the beginning of the map . |
iterator end() | Container | Returns an iterator pointing to the end of the map . |
const_iterator begin() const | Container | Returns a const_iterator pointing to the beginning of the map . |
const_iterator end() const | Container | Returns a const_iterator pointing to the end of the map . |
reverse_iterator rbegin() | ReversibleContainer | Returns a reverse_iterator pointing to the beginning of the reversed map. |
reverse_iterator rend() | ReversibleContainer | Returns a reverse_iterator pointing to the end of the reversed map. |
const_reverse_iterator rbegin() const | ReversibleContainer | Returns a const_reverse_iterator pointing to the beginning of the reversed map. |
const_reverse_iterator rend() const | ReversibleContainer | Returns a const_reverse_iterator pointing to the end of the reversed map. |
size_type size() const | Container | Returns the size of the map . |
size_type max_size() const | Container | Returns the largest possible size of the map . |
bool empty() const | Container | true if the map 's size is 0 . |
key_compare key_comp() const | SortedAssociativeContainer | Returns the key_compare object used by the map . |
value_compare value_comp() const | SortedAssociativeContainer | Returns the value_compare object used by the map . |
map() | Container | Creates an empty map . |
map(const key_compare& comp) | SortedAssociativeContainer | Creates an empty map , using comp as the key_compare object. |
template <class InputIterator>
map(InputIterator f, InputIterator l)
[2] | UniqueSortedAssociativeContainer | Creates a map with a copy of a range. |
template <class InputIterator>
map(InputIterator f, InputIterator l,
const key_compare& comp)
[2] | UniqueSortedAssociativeContainer | Creates a map with a copy of a range, using comp as the key_compare object. |
map(const map&) | Container | The copy constructor. |
map& operator=(const map&) | Container | The assignment operator |
void swap(map&) | Container | Swaps the contents of two maps. |
pair<iterator, bool>
insert(const value_type& x)
| UniqueAssociativeContainer | Inserts x into the map . |
iterator insert(iterator pos,
const value_type& x)
| UniqueSortedAssociativeContainer | Inserts x into the map , using pos as a hint to where it will be inserted. |
template <class InputIterator>
void insert(InputIterator, InputIterator)
[2] | UniqueSortedAssociativeContainer | Inserts a range into the map . |
void erase(iterator pos) | AssociativeContainer | Erases the element pointed to by pos . |
size_type erase(const key_type& k) | AssociativeContainer | Erases the element whose key is k . |
void erase(iterator first, iterator last) | AssociativeContainer | Erases all elements in a range. |
void clear() | AssociativeContainer | Erases all of the elements. |
iterator find(const key_type& k) | AssociativeContainer | Finds an element whose key is k . |
const_iterator find(const key_type& k) const | AssociativeContainer | Finds an element whose key is k . |
size_type count(const key_type& k) | UniqueAssociativeContainer | Counts the number of elements whose key is k . |
iterator lower_bound(const key_type& k) | SortedAssociativeContainer | Finds the first element whose key is not less than k . |
const_iterator lower_bound(const key_type& k) const | SortedAssociativeContainer | Finds the first element whose key is not less than k . |
iterator upper_bound(const key_type& k) | SortedAssociativeContainer | Finds the first element whose key greater than k . |
const_iterator upper_bound(const key_type& k) const | SortedAssociativeContainer | Finds the first element whose key greater than k . |
| SortedAssociativeContainer | Finds a range containing all elements whose key is k . |
| SortedAssociativeContainer | Finds a range containing all elements whose key is k . |
data_type&
operator[](const key_type& k)
[3] | map | See below. |
| ForwardContainer | Tests two maps for equality. This is a global function, not a member function. |
| ForwardContainer | Lexicographical comparison. This is a global function, not a member function. |