multiset Class
Стандартная библиотека шаблонов мультинабора класс используется для хранения и извлечения данных из коллекции, в которой значения элементов не обязательно уникальным и в которой они служат в качестве ключевых значений, согласно которым данные автоматически упорядочены.Значение ключа элемента в мультинабора не может быть изменен непосредственно.Вместо этого необходимо удалить старые значения и вставки элементов с новыми значениями.
template <
class Key,
class Compare=less<Key>,
class Allocator=allocator<Key>
>
class multiset
Параметры
Ключ
Тип данных элемента, хранимой в мультинабора.Сравнение
Тип, который содержит объект-функцию, можно сравнить значения двух элементов как ключи сортировки для определения их относительного порядка мультинабора.Двоичный предикат меньше<Key> значение по умолчанию.Allocator
Тип, представляющий объект хранимых распределителя, инкапсулирующий сведения о мультинабора выделения и освобождения памяти.Значение по умолчанию — распределитель*<Key>.*
Заметки
STL мультинабора класс:
Ассоциативный контейнера, который является контейнером переменного размера, поддерживающий эффективного извлечения значения элемента связанного значения ключа.
Двустороннее, так как он предоставляет двунаправленные итераторы для доступа к его элементам.
Сортировка, так как его элементы упорядочены по значениям ключей в контейнере в соответствии с функцией сравнения указанного.
Несколько в том смысле, что его элементов не требуется иметь уникальные ключи, таким образом, чтобы одно значение ключа может иметь множество связанных с ним значений элемента.
Простой контейнер ассоциативный за его значения ключа значений его элементов.
Класс шаблона, так как она обеспечивает функциональные возможности универсального и поэтому зависит от определенного типа данных, содержащихся как элементы.Тип данных, используемый вместо этого указанным в качестве параметра шаблона класса вместе с функцией сравнения и распределитель.
Итератор, предоставленных классом мультинабора является двунаправленный итератор, но функции-члены класса Вставить и мультинабора версий, которые принимают в качестве параметров шаблона слабых ввода итератора, требования к функциональным возможностям более минимальны, чем гарантируется с помощью класса двунаправленные итераторы.Понятия другой итератора образуют семейство связанных путем уточнения их функций.Каждый итератор концепция имеет свои требования и алгоритмы, которые работают с ними необходимо ограничить их предположения требования по данному типу итератора.Возможно предполагается, возможно итератор ввода сбросил ссылку на некоторый объект, и что он может увеличивается итератор следующей последовательности.Это минимальный набор функций, но это достаточно, чтобы иметь возможность осмысленно обсуждать диапазон итераторы [_First, _Last) в контексте функции-члены класса.
В целом Выбор типа контейнера должно быть основано на тип поиска и вставки необходимые для приложения.Ассоциативные контейнеры оптимизированы для операций поиска, вставки и удаления.Функции-члены, которые явно поддерживает эти операции, эффективно выполняя их в течение времени, в среднем, пропорционален логарифму числа элементов в контейнере.Вставка элементов делает недействительным не итераторов и удаление элементов делает недействительным только итераторов, которые специально указывает на удаленные элементы.
Мультинабора должен быть ассоциативный контейнера выбором при условиях, сопоставление значения с их ключей удовлетворяет этим приложением.Элементы мультинабора может быть несколько и служить собственные ключи сортировки, поэтому ключи не являются уникальными.Модель для данного типа структуры — это упорядоченный список, скажем, слова, в которых слова может встречаться несколько раз.Было несколько вхождений слов не был разрешен, и набор был бы структура соответствующего контейнера.Если уникальный определения были вложены, как значения в список уникальных ключевых слов, карта будет соответствующие структуры для хранения данных.Если вместо этого определения не были уникальными, несколько карт бы контейнеров выбора.
Мультинабор упорядочивает элементы последовательности, управляет путем вызова метода объекта хранимой функции типа Compare.Это сохраненного объекта является функция сравнения, которая может осуществляться путем вызова функции-члена key_comp.В целом элементы должны быть меньше, чем просто сравним этот порядок установления: таким образом, учитывая любые два элемента, он может определить что они эквивалентны (в том смысле, что не меньше, чем другие) или что один меньше другого.Это приводит в заказе между nonequivalent элементами.Технические заметки функцию сравнения является двоичный предикат, который вызывает strict слабое упорядочение стандартных математических смысле.Двоичный предикат f(x,y) — объект функции, который имеет два аргумента x и y и возвращаемое значение значение true, или значение false,.Заказ на набор является строго слабый порядок двоичной предиката, irreflexive, antisymmetric и транзитивные и если эквивалентности является транзитивным, где двух объектов x и y для эквивалентных при обоих f(x, y) и f(y, x) равны false.Если более надежные условия равенства между клавишами заменяет, эквивалентности, упорядочение становится всего (в том смысле, что все элементы упорядочены по отношению к друг другу), а соответствующие ключи будут indiscernible друг от друга.
Конструкторы
Создает multiset , пустой или, копировать все или часть указанной multiset. |
Определения типов
Typedef для allocator класса для multiset объект. |
|
Typedef двунаправленный итератор, который может прочитать const элемент в multiset. |
|
Typedef для указателя на const элемент в multiset. |
|
Определение типа для ссылки на const элемент хранится в multiset для чтения и выполнения const операций. |
|
Typedef двунаправленный итератор, который может прочитать любой const элемент в multiset. |
|
Typedef целое число со знаком для количества элементов multiset в диапазоне между элементами, на которые указывает итераторов. |
|
Typedef двунаправленный итератор, который можно прочитать или изменить любой элемент в multiset. |
|
Определение типа для объекта function, можно сравнить два ключа определяет относительный порядок двух элементов в multiset. |
|
Определение типа для объекта function, можно сравнить два ключа сортировки определяет относительный порядок двух элементов в multiset. |
|
Typedef для указателя на элемент в multiset. |
|
Определение типа для ссылки на элемент хранится в multiset. |
|
Typedef двунаправленный итератор, который можно прочитать или изменить элемент в обратном multiset. |
|
Введите целое число без знака, который может представлять число элементов в multiset. |
|
Определение типа для объекта function, можно сравнить два элемента как ключи сортировки для определения их относительного порядка в multiset. |
|
Определение типа, который описывает объект хранится в виде элемента в качестве multiset в его емкости как значение. |
Методы
Возвращает итератор, который указывает на первый элемент в multiset. |
|
Удаляет все элементы из multiset. |
|
Возвращает количество элементов в multiset , ключ которого совпадает с ключом, указанным в качестве параметра. |
|
Проверяет ли multiset является пустым. |
|
Возвращает итератор, который указывает на местоположение после последнего элемента в multiset. |
|
Возвращает пара итераторов.Первый итератора в паре указывает на первый элемент в multiset с ключом, который больше, чем указанный ключ.Второй итератора в пунктах пары для первого элемента в multiset с ключом, который равен или больше, чем ключ. |
|
Удаляет элемент или набор элементов в multiset из указанной позиции или удаляет элементы, которые соответствуют заданному ключу. |
|
Возвращает итератор, который указывает на первое место элемента в multiset , который имеет ключа равным заданному ключу. |
|
Возвращает копию allocator объект, который используется для создания multiset. |
|
Вставляет элемент или набор элементов в multiset. |
|
Предоставляет объект функции, который можно сравнить два ключа сортировки определяет относительный порядок двух элементов в multiset. |
|
Возвращает итератор на первый элемент в multiset с ключом, который равен или больше, чем указанный ключ. |
|
Возвращает максимальную длину multiset. |
|
Возвращает итератор, который указывает на первый элемент в обратном multiset. |
|
Возвращает итератор, который указывает на местоположение, последующие последнего элемента в обратном multiset. |
|
Возвращает количество элементов в multiset. |
|
Обменивается элементы двух multisets. |
|
Возвращает итератор на первый элемент в multiset с ключом, который больше, чем указанный ключ. |
|
Возвращает копию объекта сравнения, используемый для значения элемента заказа в multiset. |
Требования
Заголовок: <set>
Пространство имен: std
См. также
Ссылки
Потокобезопасность в стандартной библиотеке C++
Стандартная библиотека шаблонов