Класс concurrent_unordered_map
Класс concurrent_unordered_map — это безопасный в режиме параллелизма контейнер, который управляет последовательностью переменной длины элементов типа std::pair<const _Key_type, _Element_type>. Последовательность представлена таким образом, который позволяет параллельно-безопасно выполнять операции присоединения, получения доступа к элементу, доступа к итератору и обхода итератора.
template <
typename _Key_type,
typename _Element_type,
typename _Hasher = std::tr1::hash<_Key_type>,
typename _Key_equality = std::equal_to<_Key_type>,
typename _Allocator_type = std::allocator<std::pair<const _Key_type,
_Element_type> >
>
, typename _Key_equality = std::equal_to<_Key_type>, typename _Allocator_type = std::allocator<std::pair<const _Key_type, _Element_type> > > class concurrent_unordered_map : public details::_Concurrent_hash< details::_Concurrent_unordered_map_traits<_Key_type, _Element_type, details::_Hash_compare<_Key_type, _Hasher, _Key_equality>, _Allocator_type, false> >;
Параметры
_Key_type
Тип ключа._Element_type
Сопоставленный тип._Hasher
Тип объекта хэш-функции. Этот аргумент является необязательным и значение по умолчанию — std::tr1::hash<_Key_type**>**._Key_equality
Тип объекта функции сравнения на предмет равенства. Этот аргумент является необязательным и значение по умолчанию — std::equal_to<_Key_type**>**._Allocator_type
Тип, представляющий хранимый объект распределителя, инкапсулирующий сведения о распределении и освобождении памяти для параллельного не упорядоченного сопоставления. Этот аргумент является необязательным и значение по умолчанию — std::allocator<std::pair<_Key_type, _Element_type**>>**.
Члены
Общедоступные Typedefs
Name |
Описание |
---|---|
allocator_type |
Тип распределителя для управления хранилищем. |
const_iterator |
Тип постоянного итератора для управляемой последовательности. |
const_local_iterator |
Тип постоянного итератора контейнера для управляемой последовательности. |
const_pointer |
Тип постоянного указателя на элемент. |
const_reference |
Тип постоянной ссылки на элемент. |
difference_type |
Тип расстояния со знаком между двумя элементами. |
hasher |
Тип хэш-функции. |
iterator |
Тип итератора для управляемой последовательности. |
key_equal |
Тип функции сравнения. |
key_type |
Тип ключа упорядочения. |
local_iterator |
Тип итератора контейнера для управляемой последовательности. |
mapped_type |
Тип сопоставленного значения, связанного с каждым ключом. |
pointer |
Тип указателя на элемент. |
reference |
Тип ссылки на элемент. |
size_type |
Тип беззнакового расстояния между двумя элементами. |
value_type |
Тип элемента. |
Открытые конструкторы
Name |
Описание |
---|---|
Конструктор concurrent_unordered_map::concurrent_unordered_map |
Перегружен. Создает Параллельный Не упорядоченный сопоставление. |
Открытые методы
Name |
Описание |
---|---|
Перегружен. Находит элемент в concurrent_unordered_map с указанными ключевым значением. Данный метод безопасен в режиме параллелизма. |
|
Получает объект сохраненной хэш-функции. |
|
Перегружен. Добавляет элементы в объект concurrent_unordered_map. |
|
Возвращает сохраненный объект функции проверки равенства. |
|
Меняет местами содержимое двух объектов concurrent_unordered_map. Данный метод не безопасен в режиме параллелизма. |
|
Перегружен. Удаляет элементы из concurrent_unordered_map в указанных положениях. Данный метод не безопасен в режиме параллелизма. |
Открытые операторы
Name |
Описание |
---|---|
Перегружен. Находит или вставляет элемент с указанным ключом. Данный метод безопасен в режиме параллелизма. |
|
Перегружен. Назначает содержимое другого объекта concurrent_unordered_map данному. Данный метод не безопасен в режиме параллелизма. |
Заметки
Подробные сведения о классе concurrent_unordered_map содержатся в разделе Параллельные контейнеры и объекты.
Иерархия наследования
_Traits
_Concurrent_hash
concurrent_unordered_map
Требования
Заголовок: concurrent_unordered_map.h
Пространство имен: concurrency