Поделиться через


unordered_multiset Class

Класс-шаблон описание объекта, что элементы управления последовательность элементов типа менять-длины const Key.Последовательность слабо упорядочена хэш-функции, разделах последовательность в упорядоченный набор подпоследовательностей вызвавших контейнерами.В каждом контейнере функция сравнения определяет, имеет ли какая-либо пара элементов эквивалентный упорядочение.Каждый элемент используется как ключ сортировки и значение.Последовательность представлена способом, который разрешает уточняющего запроса, вставки и удаления произвольного элемента с несколькими операций, которые могут быть независимым числа элементов в последовательности (постоянного времени), по крайней мере, когда все контейнеры примерно одинаковой длины.В наихудшем случае, если все элементы в одном контейнере, число операций пропорционально количеству элементов в последовательности (линейном времени).Кроме того, вставка элемента объявляет никаких итераторы и удаление элемента делает недействительным только эти итераторы, указывающие на удаленном элементе.

template<class Key,
    class Hash = std::hash<Key>,
    class Pred = std::equal_to<Key>,
    class Alloc = std::allocator<Key> >
    class unordered_multiset;

Параметры

Параметр

Описание

Key

Тип ключа.

Hash

Тип объекта хэш-функцию.

Pred

Тип объекта функции сравнения на равенство.

Alloc

Класс выделения.

Члены

Определение типа

Описание

unordered_multiset::allocator_type

Тип выделения для управления хранением.

unordered_multiset::const_iterator

Тип постоянного итератора для управляемой последовательности.

unordered_multiset::const_local_iterator

Тип постоянного итератора контейнера для управляемой последовательности.

unordered_multiset::const_pointer

Тип постоянный указатель к элементу.

unordered_multiset::const_reference

Тип постоянной ссылки на элемент.

unordered_multiset::difference_type

Тип подписанного диапазона от 2 элементами.

unordered_multiset::hasher

Тип хэш-функцию.

unordered_multiset::iterator

Тип итератора для управляемой последовательности.

unordered_multiset::key_equal

Тип функции сравнения.

unordered_multiset::key_type

Тип ключа упорядочивания.

unordered_multiset::local_iterator

Тип итератора контейнера для управляемой последовательности.

unordered_multiset::pointer

Тип указателя к элементу.

unordered_multiset::reference

Тип ссылки к элементу.

unordered_multiset::size_type

Тип unsigned диапазона от 2 элементами.

unordered_multiset::value_type

Тип элемента.

Функция-член

Описание

unordered_multiset::begin

Задает начало управляемой последовательности.

unordered_multiset::bucket

Возвращает номер контейнера для значения ключа.

unordered_multiset::bucket_count

Возвращает количество контейнеров.

unordered_multiset::bucket_size

Получает размер контейнера.

unordered_multiset::cbegin

Задает начало управляемой последовательности.

unordered_multiset::cend

Задает конец управляемой последовательности.

unordered_multiset::clear

Удаляет все элементы.

unordered_multiset::count

Находит число элементов, соответствующий указанному ключу.

unordered_multiset::emplace

Добавляет элемент, созданный на месте.

unordered_multiset::emplace_hint

Добавляет элемент, созданный на месте с подсказкой.

unordered_multiset::empty

Проверяющие не присутствуют ли элементы.

unordered_multiset::end

Задает конец управляемой последовательности.

unordered_multiset::equal_range

Ищет диапазон, соответствующий указанному ключу.

unordered_multiset::erase

Удаляет элементы в указанных положениях.

unordered_multiset::find

Определяет элемент, соответствующий указанному ключу.

unordered_multiset::get_allocator

Возвращает сохраненные объект выделения.

unordered_multiset::hash_function

Возвращает сохраненные объект хэш-функцию.

unordered_multiset::insert

Добавляет элементы.

unordered_multiset::key_eq

Возвращает сохраненные объект функции сравнения.

unordered_multiset::load_factor

Подсчитывает среднее элементов в контейнере.

unordered_multiset::max_bucket_count

Возвращает максимальное количество контейнеров.

unordered_multiset::max_load_factor

Возвращает или задает максимальное количество элементов на сегмент.

unordered_multiset::max_size

Возвращает максимальный размер управляемой последовательности.

unordered_multiset::rehash

Повторно создает хэш-таблицу.

unordered_multiset::size

Подсчитывает количество элементов.

unordered_multiset::swap

Меняет местами содержимое двух контейнеров.

unordered_multiset::unordered_multiset

Создает объект контейнера.

Оператор

Описание

unordered_multiset::operator=

Копирует хэш-таблицы.

Заметки

Объект упорядочивает последовательность он контролирует, вызвав 2, сохраненного объекта, объект функции сравнения типов unordered_multiset::key_equal хэш-функция и объект типа unordered_multiset::hasher.Доступ к первому, сохраненный объект путем вызова функции-члена unordered_multiset::key_eq(); и второй, сохраненный объект путем вызова функции-члена unordered_multiset::hash_function().В частности, для всех значений X и Y type Keyвызов key_eq()(X, Y) возвращает значение true, только если значения аргументов имеют эквивалентные упорядочение 2; вызов hash_function()(keyval) создает распределение значений типа size_t.В отличие от класса шаблона unordered_set Classобъект класса шаблона unordered_multiset он не предоставляет key_eq()(X, Y) всегда значение false для всех 2 элементов управляемой последовательности.(Ключи не должны быть уникальными.)

Объект также хранит максимальный фактор нагрузки, указывающий требуемое максимум среднее количество элементов на сегмент.Если вставка причины элемента unordered_multiset::load_factor() для превышения максимального коэффициента нагрузки, контейнер увеличивает число сегментов и перестроения хэш-таблицы, как требуется.

Фактический порядок элементов в контролируемых зависит от последовательности хэш-функции, функция сравнения, порядок вставки, максимальное отношение нагрузки и текущее количество контейнеров.Обычно нельзя предугадать порядок элементов в управляемой последовательности.Можно всегда быть конечно, однако, любое подмножество элементов, имеющих эквивалентные смежно упорядочения управляемой последовательности.

Объект выборки и хранилище свободенов для последовательности она контролирует через сохраненные объект выделения типа unordered_multiset::allocator_type.Такой объект должен иметь один и тот же распределитель внешнего интерфейса в виде объекта класса шаблона allocator.Обратите внимание, что сохраненные объект выделения не копируется, когда объект контейнера присвоен.

Требования

заголовок:<unordered_set>

пространство имен: STD

См. также

Ссылки

<unordered_set>

unordered_multiset Class

Другие ресурсы

члены<unordered_set>