Справочник по C/C++
map

Класс map поддерживает ассоциативный контейнер, в котором уникальным ключам соответствуют определенные значения. Спецификация его шаблона имеет следующий вид.

template <class Key, class T, class Comp = less<Key>,
class Allocator = allocator<pair<const Key, T>>> class map

Здесь Key - тип данных ключей, Т - тип сохраняемых (отображаемых) значений, a Comp - функция, которая сравнивает два ключа. Класс map имеет следующие конструкторы.

explicit map(const Comp &cmpfn = Comp(), const Allocator &a = Allocator());
map(const map<Key, T, Comp, Allocator> &ob);
template <class InIter> map(InIter start, InIter end,
const Comp &cmpfn = Comp(), const Allocator &a = Allocator)));

Первая форма конструктора создает пустое отображение. Вторая создает отображение, которое содержит те же элементы, что и отображение ob. Третья создает отображение, которое содержит элементы в диапазоне, заданном параметрами start и end. Функция, заданная параметром cmpfn (и если она задана), определяет упорядочение отображения.

Для класса map определены следующие операторы сравнения: ==,<,<=, !=, > и >=.

Класс map содержит перечисленные ниже функции-члены. В приведенных в следующей таблице описаниях элемент key_type представляет тип ключа, а элемент value_type - пару элементов pair<Key, Т>.

Функция-член Назначение
iterator begin();
const_iterator begin() const;
Возвращает итератор для первого элемента в отображении
void clear(); Удаляет все элементы из отображения
size_type count(const key_type &k) const; Возвращает число вхождений ключа k в отображении (1 или 0)
bool empty() const; Возвращает true, если данное отображение пустое, и false в противном случае
iterator end();
const_iterator end() const;
Возвращает итератор, указывающий на конец отображения
pair<iterator, iterator> equal_range(const key_type &k);
pair<const_iterator, const_iterator> equal_range(const key_type &k) const;
Возвращает пару итераторов, которые указывают на первый и последний элементы в отображении, содержащие заданный ключ
void erase(iterator i); Удаляет элемент, на который указывает итератор i
void erase(iterator start, iterator end); Удаляет элементы в диапазоне, заданном параметрами start и end
size_type erase(const key_type &k); Удаляет из отображения элементы, ключи которых имеют значение k
iterator find(const key_type &k);
const_iterator find(const key_type &k) const;
Возвращает итератор для заданного ключа. Если ключ не обнаружен, возвращает итератор для конца отображения
allocator_type get_allocator() const; Возвращает распределитель отображения
iterator insert(iterator i, const value_type &val); Вставляет значение val в позиции или после элемента, заданного итератором i. Возвращает итератор на этот элемент
template <class InIter> void insert(InIter start, InIter end); Вставляет элементы заданного диапазона
pair<iterator, bool> insert(const value_type &vaJ); Вставляет значение val в используемое отображение. Возвращает итератор для данного элемента. Элемент вставляет только в том случае, если его еще нет в отображении. Если элемент был вставлен, возвращает пару pair<iterator, true>. В противном случае возвращает пару pair<iterator, false>
key_compare key_comp()const; Возвращает объект-функцию, которая сравнивает ключи
iterator lower_bound(const key_type &k);
const_iterator lower_bound(const key_type &k)const;
Возвращает итератор для первого элемента в отображении, ключ которого равен значению k или больше этого значения
size_type max_size() const; Возвращает максимальное число элементов, которое может содержать данное отображение
reference operator[](const key_type &i); Возвращает ссылку на элемент, заданный параметром i. Если этого элемента не существует, вставляет его в отображение
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
Возвращает реверсивный итератор для конца отображения
reverse_iterator rend();
const_reverse_iterator rend() const;
Возвращает реверсивный итератор для начала отображения
size_type size() const; Возвращает текущее число элементов в отображении
void swap(map<Key, T, Comp, Allocator> &ob); Выполняет обмен элементами данного отображения и отображения оЬ
iterator upper_bound(const key_type &k);
const_iterator upper_bound(const key_type &k) const;
Возвращает итератор для первого элемента в отображении, ключ которого больше заданного значения k
value_compare value_comp() const; Возвращает итератор для первого элемента в отображении, ключ которого больше заданного значения k



Реклама