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


unordered_set Class

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

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

Параметры

Параметр

Описание

Key

Тип ключа.

Hash

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

Pred

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

Alloc

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

Члены

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

Описание

unordered_set::allocator_type

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

unordered_set::const_iterator

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

unordered_set::const_local_iterator

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

unordered_set::const_pointer

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

unordered_set::const_reference

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

unordered_set::difference_type

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

unordered_set::hasher

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

unordered_set::iterator

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

unordered_set::key_equal

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

unordered_set::key_type

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

unordered_set::local_iterator

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

unordered_set::pointer

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

unordered_set::reference

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

unordered_set::size_type

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

unordered_set::value_type

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

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

Описание

unordered_set::begin

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

unordered_set::bucket

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

unordered_set::bucket_count

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

unordered_set::bucket_size

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

unordered_set::cbegin

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

unordered_set::cend

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

unordered_set::clear

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

unordered_set::count

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

unordered_set::emplace

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

unordered_set::emplace_hint

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

unordered_set::empty

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

unordered_set::end

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

unordered_set::equal_range

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

unordered_set::erase

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

unordered_set::find

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

unordered_set::get_allocator

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

unordered_set::hash_function

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

unordered_set::insert

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

unordered_set::key_eq

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

unordered_set::load_factor

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

unordered_set::max_bucket_count

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

unordered_set::max_load_factor

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

unordered_set::max_size

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

unordered_set::rehash

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

unordered_set::size

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

unordered_set::swap

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

unordered_set::unordered_set

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

Операторы

Описание

unordered_set::operator=

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

Заметки

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

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

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

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

Требования

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

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

См. также

Ссылки

<unordered_set>

unordered_set Class

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

члены<unordered_set>