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

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

template ,
lass Allocator = allocator>> class multimap

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

explicit multimap(const Comp &cmpfn = Comp(), const Allocator &a = Allocator(});
multimap(const multimap &ob);
template multimap(InIter start, InIter end, const Comp &cmpfn = Comp(), const Allocator &a = Allocator());

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

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

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

Функция-член Назначение
iterator begin();
const_iterator begin() const;
Возвращает итератор для первого элемента в мультиотображении
void clear(); Удаляет все элементы из мультиотображения
size_type count(const key_type &k) const; Возвращает число вхождений ключа k в мультиотображении
bool empty() const; Возвращает true, если данное мультиотображение пустое, и false в противном случае.
iterator end();
const_iterator end() const;
Возвращает итератор для конца мультиотображения
pair equal_range(const key_type &k);
pair 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 &?);
const_iterator find(const key_type &fc) const;
Возвращает итератор для заданного ключа. Если ключ не обнаружен, возвращает итератор для конца мультиотображения
allocator_type get_allocator() const; Возвращает распределитель мультиотображения
iterator insert(iterator i, const value_type &val); Вставляет значение val в позиции или после элемента, заданного итератором i. Возвращает итератор для этого элемента
template void insert(InIter start, InIter end); Вставляет элементы заданного диапазона
iterator insert(const value_type &vai); Вставляет значение val в используемое мультиотображение
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; Возвращает максимальное число элементов, которое может содержать данное мультиотображение
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
Возвращает реверсивный итератор для конца мультиотображения
reverse_iterator rend();
const_reverse_iterator rend() const;
Возвращает реверсивный итератор для начала мультиотображения
size_type size() const; Возвращает текущее число элементов в мультиотображении
void swap(multimap &ob); Выполняет обмен элементами данного мультиотображения и мультиотображения ob
iterator upper_bound(const key_type &k);
const_iterator upper_bound(const key_type &k) const;
Возвращает итератор для первого элемента в мультиотображении, ключ которого больше заданного значения k 
value_compare value_comp() const; Возвращает объект-функцию, которая сравнивает значения






Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: