multimap Class
Класс multimap стандартной библиотеки шаблонов используется для хранения и извлечения данных из коллекции, в которой каждый элемент пары, а данные и имеет значение ключа.Значение ключа не должны быть уникальными и используется для упорядочивания данных автоматически.Значение элемента в multimap, но не связанное с ним значение ключа, могут быть изменены напрямую.Вместо этого значения ключа, связанные со старыми элементы должны быть удалены или новые значения ключа связан с в новые элементы.
template <
class Key,
class Type,
class Traits=less<Key>,
class Allocator=allocator<pair <const Key, Type> >
>
class multimap
Параметры
Ключ
Ключевой тип данных, сохраняемых в multimap.Тип
Тип данных элементов, сохраняемых в multimap.Traits
Тип, который предоставляет объект функции, можно сравнивать значения 2 элемента в качестве ключей сортировки для определения относительный порядок в multimap.Бинарный предикат *<Key>*less значение по умолчанию.Allocator
Тип, представляющий сохраненный объект распределителя, инкапсулирующий информацию о выделении памяти и освобождение сопоставления.Этот аргумент является необязательным и значение по умолчанию allocator*<*pair *<*const Key, Type> >.
Заметки
Класс multimap STL
Ассоциативный контейнер, который контейнер переменного размера, который поддерживает эффективное получение значений на основе элемента связанного значения ключа.
Reversible, поскольку он предоставляет итераторы двунаправленные для получения его элементы.
Сортируемый, поскольку элементы сортируются по значениям ключа в контейнере в соответствии с указанной функции сравнения.
Несколько предложений, поскольку элементов не обязательно должны иметь уникальные ключи, чтобы одно значение ключа мог содержать много значений информации об элементах, связанных с ним.
Контейнер пар ассоциативный, поскольку его значений данных элемента определяется из своих значений ключа.
Класс шаблона, поскольку он предоставляет функции универсален и поэтому не зависят от конкретного типа данных, содержащихся в виде элементов или ключи.Типы данных, используемые для элементов и ключей, вместо этого определяются как параметры в шаблоне класса вместе с функцией и распределителем сравнения.
Итератор, предоставляемого классом сопоставления двунаправленный итератор, но функции вставка и multimap члена класса имеют версии, которые принимают в качестве параметров шаблона более предоставляет итератор ввода, которого требования к функции минимальне от тех гарантированные классом двунаправленных итераторов.Другая форма итератора семейство уточнениями понятий, связанных в их функции.Каждое понятие итератора имеет собственный набор требований и алгоритмы, работающих с ними ограничение включение файла их условий с требованиями, предоставляемым этим типом итератора.Оно может быть высказыван предполагать, что итератору ввода может быть разыменован для обращения к определенному объекту и он может быть инкрементирован следующему итератору в последовательности.Это минимальный набор функциональных возможностей, но достаточно, чтобы иметь возможность контактировать учитывается о диапазоне итераторов [_First, _Last) в контексте функции-члены класса.
Выбор типа контейнера создавайтесь обычно типа поиска и вставка требуемого приложением.Ассоциативные контейнеры оптимизированы для операций поиска, вставки и удаления.Функции-члены, явно поддерживают такие операции эффективны, выполняя их во времени, в среднем пропорционально натуральному логарифму числа элементов в контейнере.Вставка элементов не итераторы, что и удаление элементов только те, что итераторы, указывающий на удаленные элементы.
Multimap должно быть ассоциативным контейнером варианта при условия сопоставляет значения с внешним ключам удовлетворяются приложением.Модель для этого типа структуры упорядоченный список ключевых слов, связанные с строковых значений, обеспечивая сообщает, определения, где ключевые слова всегда является уникальным не определено.Вместо этого, если ключевые слова уникальный определено, так как ключи были уникальны, то сопоставление будет контейнером варианта.Если, с другой стороны, просто хранился список ключевых слов, набор будет правильным контейнером.Если несколько вхождений слов были разрешены, multiset была бы соответствующей структуре контейнера.
Multimap сортирует последовательность его элементы управления путем вызова, сохраненный объект функции типа key_compare.Этот сохраненный объект функции сравнения, могут получить доступ, вызвав функцию-член key_comp.Как правило, элементы должны быть просто меньше соответствующий установить этот порядок. таким образом, чтобы данные, все 2 элемента он мог быть определен того, что они эквивалентны (в том смысле, что ни одно меньше другой) или, чтобы один меньше другой.Это приводит к тому, что порядок неравнозначными между элементами.На более технического примечания, функция сравнения бинарный предикат, который вызывает строгого слабое упорядочение в стандартном математически смысле.Бинарный предикат f(x, y) объект функции с 2 объекта аргумента x и y и возвращаемое значение из истинного или false.Упорядочение вызванная на наборе строгие слабые приказывающ бинарный irreflexive, если предикат антисимметрический и транзитивн и если эквивалентность транзитивна, где 2 объекта x и y, чтобы быть соответствующие при и f(x, y) и f(x, y) значение.Если более строгое условие равенства между ключами заменяет любую из эквивалентности, порядок будет итогом (в том смысле, что все элементы упорядочены по отношению к друг друга) и соответствующие ключи, которые будут indiscernible друг от друга.
Члены
Конструкторы
Создает объект multimap, пусты, или скопировать все или часть другого multimap. |
Определения типов
Тип, представляющий класс allocator для объекта multimap. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать элемент const в multimap. |
|
Тип, который содержит указатель элемент const в multimap. |
|
Тип, который предоставляет ссылку на элемент const, хранящихся в multimap для чтения и выполнения операций const. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать любой элемент const в multimap. |
|
Тип знакового целого числа, который можно использовать для представления количество элементов multimap в диапазоне между элементами указал к итераторам. |
|
Тип, который содержит различие между 2 итераторами, относящимися к элементам внутри того же multimap. |
|
Тип, который предоставляет объект функции, можно сравнивать 2 ключа сортировки для определения относительный порядок 2 элементов в multimap. |
|
Тип, который описывает объект раздела сортировки, используемых в каждом элементе multimap. |
|
Тип, представляющий тип данных, хранящихся в multimap. |
|
Тип, который содержит указатель элемент const в multimap. |
|
Тип, который предоставляет ссылку на элемент хранящихся в multimap. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать и изменять элемент в обращенном multimap. |
|
Тип целого числа без знака, который содержит указатель элемент const в multimap. |
|
Тип, который предоставляет объект функции, можно сравнивать 2 элемента в качестве ключей сортировки для определения относительный порядок в multimap. |
Функции-члены
Возвращает итератор слишком первый элемент multimap. |
|
Возвращает итератор const слишком первый элемент multimap. |
|
Возвращает итератор const, принимаются расположение последующими последнего элемента в multimap. |
|
Удаляет все элементы multimap. |
|
Возвращает количество элементов в multimap параметр- ключ которого соответствует указанному ключу. |
|
Возвращает итератор const слишком первый элемент в обращенном multimap. |
|
Возвращает итератор const, принимаются расположение последующими последний элемент в обращенном multimap. |
|
Вставляет элемент построен на месте в multimap. |
|
Вставляет элемент построен на месте в multimap, с подсказками размещения |
|
Тесты, если массив multimap пуст. |
|
Возвращает итератор, принимаются расположение последующими последнего элемента в multimap. |
|
Находит диапазон элементов, где ключ элемента соответствует заданному значению. |
|
Удаляет элемент или набор элементов в multimap из заданных позиций или удалять элементы, соответствующие указанному ключу. |
|
Возвращает итератор слишком первое местоположение элемента содержит ключ в multimap, соответствующий указанному ключу. |
|
Возвращает копию объекта allocator, используемого для создания multimap. |
|
Вставляет элемент или набор элементов в multimap. |
|
Извлекает копию объекта сравнения, используемого для ключей, в multimap. |
|
Возвращает итератор на первый элемент в multimap, с ключом, равно или больше, чем указанный ключ. |
|
Возвращает максимальную длину multimap. |
|
Возвращает итератор слишком первый элемент в обращенном multimap. |
|
Возвращает итератор, принимаются расположение последующими последний элемент в обращенном multimap. |
|
Возвращает количество элементов в multimap. |
|
Меняет местами элементы 2 объектов multimap. |
|
Возвращает итератор на первый элемент в multimap, с ключом, который больше, чем указанный ключ. |
|
Функция-член возвращает объект функции, который определяет порядок элементов в multimap путем сравнения значения ключа. |
Операторы
Заменяет элементы multimap с копией другого multimap. |
Требования
Header: <map>
Пространство имен: std
(ключ, значение) Пары сохраняются в multimap как объекты типа pair.Класс пар для заголовка <utility>, который автоматически включен <map>.
См. также
Ссылки
Потокобезопасность в стандартной библиотеке C++
Стандартная библиотека шаблонов