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


unordered_map Class

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

template<class Key,
    class Ty,
    class Hash = std::hash<Key>,
    class Pred = std::equal_to<Key>,
    class Alloc = std::allocator<std::pair<const Key, Ty> > >
    class unordered_map;

Параметры

Параметр

Описание

Key

Тип ключа.

Ty

Сопоставленный тип.

Hash

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

Pred

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

Alloc

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

Члены

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

Описание

unordered_map::allocator_type

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

unordered_map::const_iterator

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

unordered_map::const_local_iterator

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

unordered_map::const_pointer

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

unordered_map::const_reference

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

unordered_map::difference_type

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

unordered_map::hasher

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

unordered_map::iterator

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

unordered_map::key_equal

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

unordered_map::key_type

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

unordered_map::local_iterator

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

unordered_map::mapped_type

Тип сопоставляемого значения, связанного с каждым ключом.

unordered_map::pointer

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

unordered_map::reference

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

unordered_map::size_type

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

unordered_map::value_type

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

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

Описание

hash_map::begin

Находит элемент с указанным ключом.

unordered_map::begin

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

unordered_map::bucket

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

unordered_map::bucket_count

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

unordered_map::bucket_size

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

hash_map::begin

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

hash_map::begin

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

unordered_map::clear

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

unordered_map::count

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

hash_map::begin

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

hash_map::begin

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

unordered_map::empty

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

unordered_map::end

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

unordered_map::equal_range

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

unordered_map::erase

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

unordered_map::find

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

unordered_map::get_allocator

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

unordered_map::hash_function

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

unordered_map::insert

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

unordered_map::key_eq

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

unordered_map::load_factor

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

unordered_map::max_bucket_count

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

unordered_map::max_load_factor

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

unordered_map::max_size

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

unordered_map::rehash

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

unordered_map::size

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

unordered_map::swap

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

unordered_map::unordered_map

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

Оператор

Описание

unordered_map::operator[]

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

hash_map::begin

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

Заметки

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

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

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

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

Требования

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

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

См. также

Ссылки

<unordered_map>

unordered_map Class

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

Члены <unordered_map>