STLdoc
STLdocumentation
|
The concurrent_unordered_map
class is a concurrency-safe container that controls a varying-length sequence of elements of type std::pair<const _Key_type, _Element_type>
. The sequence is represented in a way that enables concurrency-safe append, element access, iterator access, and iterator traversal operations.
More...
#include <concurrent_unordered_map.h>
Public Types | |
typedef concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type > | _Mytype |
typedef details::_Hash_compare< _Key_type, _Hasher, _Key_equality > | _Key_compare |
typedef details::_Concurrent_hash< details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, _Key_compare, _Allocator_type, false > > | _Mybase |
typedef _Key_type | key_type |
The type of an ordering key. More... | |
typedef _Mybase::value_type | value_type |
The type of an element. More... | |
typedef _Element_type | mapped_type |
The type of a mapped value associated with each key. More... | |
typedef _Hasher | hasher |
The type of the hash function. More... | |
typedef _Key_equality | key_equal |
The type of the comparison function. More... | |
typedef _Mybase::allocator_type | allocator_type |
The type of an allocator for managing storage. More... | |
typedef _Mybase::pointer | pointer |
The type of a pointer to an element. More... | |
typedef _Mybase::const_pointer | const_pointer |
The type of a constant pointer to an element. More... | |
typedef _Mybase::reference | reference |
The type of a reference to an element. More... | |
typedef _Mybase::const_reference | const_reference |
The type of a constant reference to an element. More... | |
typedef _Mybase::size_type | size_type |
The type of an unsigned distance between two elements. More... | |
typedef _Mybase::difference_type | difference_type |
The type of a signed distance between two elements. More... | |
typedef _Mybase::iterator | iterator |
The type of an iterator for the controlled sequence. More... | |
typedef _Mybase::const_iterator | const_iterator |
The type of a constant iterator for the controlled sequence. More... | |
typedef _Mybase::iterator | local_iterator |
The type of a bucket iterator for the controlled sequence. More... | |
typedef _Mybase::const_iterator | const_local_iterator |
The type of a constant bucket iterator for the controlled sequence. More... | |
Public Types inherited from Concurrency::details::_Concurrent_hash< details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false > > | |
typedef _Concurrent_hash< details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false > > | _Mytype |
typedef _Split_ordered_list< typename details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false >::value_type, typename details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false >::allocator_type > | _Mylist |
typedef details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false >::_Key_compare | _Key_compare |
typedef details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false >::_Value_compare | _Value_compare |
typedef details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false >::value_type | value_type |
typedef details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false >::key_type | key_type |
typedef details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false >::allocator_type | allocator_type |
typedef allocator_type::pointer | pointer |
typedef allocator_type::const_pointer | const_pointer |
typedef allocator_type::reference | reference |
typedef allocator_type::const_reference | const_reference |
typedef allocator_type::size_type | size_type |
typedef allocator_type::difference_type | difference_type |
typedef std::tr1::conditional< std::tr1::is_same< key_type, value_type >::value, typename _Mylist::const_iterator, typename _Mylist::iterator >::type | iterator |
typedef _Mylist::const_iterator | const_iterator |
typedef iterator | local_iterator |
typedef const_iterator | const_local_iterator |
typedef _Mylist::_Nodeptr | _Nodeptr |
typedef _Mylist::_Full_iterator | _Full_iterator |
typedef _Mylist::_Full_const_iterator | _Full_const_iterator |
Public Types inherited from Concurrency::details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false > | |
enum | |
typedef std::pair< const _Key_type, _Element_type > | value_type |
typedef _Key_type | key_type |
typedef details::_Hash_compare< _Key_type, _Hasher, _Key_equality > | _Key_compare |
typedef _Allocator_type::template rebind< value_type >::other | allocator_type |
Public Member Functions | |
concurrent_unordered_map (size_type _Number_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &_Allocator=allocator_type()) | |
Constructs a concurrent unordered map. More... | |
concurrent_unordered_map (const allocator_type &_Allocator) | |
Constructs a concurrent unordered map. More... | |
template<typename _Iterator > | |
concurrent_unordered_map (_Iterator _Begin, _Iterator _End, size_type _Number_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &_Allocator=allocator_type()) | |
Constructs a concurrent unordered map. More... | |
concurrent_unordered_map (const concurrent_unordered_map &_Umap) | |
Constructs a concurrent unordered map. More... | |
concurrent_unordered_map (const concurrent_unordered_map &_Umap, const allocator_type &_Allocator) | |
Constructs a concurrent unordered map. More... | |
concurrent_unordered_map (concurrent_unordered_map &&_Umap) | |
Constructs a concurrent unordered map. More... | |
concurrent_unordered_map & | operator= (const concurrent_unordered_map &_Umap) |
Assigns the contents of another concurrent_unordered_map object to this one. This method is not concurrency-safe. More... | |
concurrent_unordered_map & | operator= (concurrent_unordered_map &&_Umap) |
Assigns the contents of another concurrent_unordered_map object to this one. This method is not concurrency-safe. More... | |
std::pair< iterator, bool > | insert (const value_type &_Value) |
Adds elements to the concurrent_unordered_map object. More... | |
iterator | insert (const_iterator _Where, const value_type &_Value) |
Adds elements to the concurrent_unordered_map object. More... | |
template<class _Iterator > | |
void | insert (_Iterator _First, _Iterator _Last) |
Adds elements to the concurrent_unordered_map object. More... | |
template<class _Valty > | |
std::pair< iterator, bool > | insert (_Valty &&_Value) |
Adds elements to the concurrent_unordered_map object. More... | |
template<class _Valty > | |
std::tr1::enable_if<!std::tr1::is_same< const_iterator, typename std::tr1::remove_reference< _Valty >::type >::value, iterator >::type | insert (const_iterator _Where, _Valty &&_Value) |
Adds elements to the concurrent_unordered_map object. More... | |
iterator | unsafe_erase (const_iterator _Where) |
Removes elements from the concurrent_unordered_map at specified positions. This method is not concurrency-safe. More... | |
iterator | unsafe_erase (const_iterator _Begin, const_iterator _End) |
Removes elements from the concurrent_unordered_map at specified positions. This method is not concurrency-safe. More... | |
size_type | unsafe_erase (const key_type &_Keyval) |
Removes elements from the concurrent_unordered_map at specified positions. This method is not concurrency-safe. More... | |
void | swap (concurrent_unordered_map &_Umap) |
Swaps the contents of two concurrent_unordered_map objects. This method is not concurrency-safe. More... | |
hasher | hash_function () const |
Gets the stored hash function object. More... | |
key_equal | key_eq () const |
Gets the stored equality comparison function object. More... | |
mapped_type & | operator[] (const key_type &_Keyval) |
Finds or inserts an element with the specified key. This method is concurrency-safe. More... | |
mapped_type & | operator[] (key_type &&_Keyval) |
Finds or inserts an element with the specified key. This method is concurrency-safe. More... | |
mapped_type & | at (const key_type &_Keyval) |
Finds an element in a concurrent_unordered_map with a specified key value.. This method is concurrency-safe. More... | |
const mapped_type & | at (const key_type &_Keyval) const |
Finds an element in a concurrent_unordered_map with a specified key value.. This method is concurrency-safe. More... | |
Public Member Functions inherited from Concurrency::details::_Concurrent_hash< details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false > > | |
_Concurrent_hash (size_type _Number_of_buckets=_Initial_bucket_number, const _Key_compare &_Parg=_Key_compare(), const allocator_type &_Allocator=allocator_type()) | |
_Concurrent_hash (const _Concurrent_hash &_Right, const allocator_type &_Allocator) | |
_Concurrent_hash (const _Concurrent_hash &_Right) | |
_Concurrent_hash (_Concurrent_hash &&_Right) | |
_Concurrent_hash & | operator= (const _Concurrent_hash &_Right) |
_Concurrent_hash & | operator= (_Concurrent_hash &&_Right) |
~_Concurrent_hash () | |
allocator_type | get_allocator () const |
Returns the stored allocator object for this concurrent container. This method is concurrency safe. More... | |
bool | empty () const |
Tests whether no elements are present. This method is concurrency safe. More... | |
size_type | size () const |
Returns the number of elements in this concurrent container. This method is concurrency safe. More... | |
size_type | max_size () const |
Returns the maximum size of the concurrent container, determined by the allocator. This method is concurrency safe. More... | |
iterator | begin () |
Returns an iterator pointing to the first element in the concurrent container. This method is concurrency safe. More... | |
const_iterator | begin () const |
Returns an iterator pointing to the first element in the concurrent container. This method is concurrency safe. More... | |
iterator | end () |
Returns an iterator pointing to the location succeeding the last element in the concurrent container. This method is concurrency safe. More... | |
const_iterator | end () const |
Returns a const_iterator pointing to the location succeeding the last element in the concurrent container. This method is concurrency safe. More... | |
const_iterator | cbegin () const |
Returns a const iterator pointing to the first element in the concurrent container. This method is concurrency safe. More... | |
const_iterator | cend () const |
Returns a const iterator pointing to the location succeeding the last element in the concurrent container. This method is concurrency safe. More... | |
iterator | unsafe_erase (const_iterator _Where) |
Removes elements from the container at specified positions. This method is not concurrency-safe. More... | |
iterator | unsafe_erase (const_iterator _First, const_iterator _Last) |
Removes elements from the container at specified positions. This method is not concurrency-safe. More... | |
size_type | unsafe_erase (const key_type &_Keyval) |
Removes elements from the container at specified positions. This method is not concurrency-safe. More... | |
void | swap (_Concurrent_hash &_Right) |
Swaps the contents of two concurrent containers. This function is not concurrency safe. More... | |
void | clear () |
Erases all the elements in the concurrent container. This function is not concurrency safe. More... | |
iterator | find (const key_type &_Keyval) |
Finds an element that matches a specified key. This function is concurrency safe. More... | |
const_iterator | find (const key_type &_Keyval) const |
Finds an element that matches a specified key. This function is concurrency safe. More... | |
size_type | count (const key_type &_Keyval) const |
Counts the number of elements matching a specified key. This function is concurrency safe. More... | |
std::pair< iterator, iterator > | equal_range (const key_type &_Keyval) |
Finds a range that matches a specified key. This function is concurrency safe. More... | |
std::pair< const_iterator, const_iterator > | equal_range (const key_type &_Keyval) const |
Finds a range that matches a specified key. This function is concurrency safe. More... | |
size_type | unsafe_bucket_count () const |
Returns the current number of buckets in this container. More... | |
size_type | unsafe_max_bucket_count () const |
Returns the maximum number of buckets in this container. More... | |
size_type | unsafe_bucket_size (size_type _Bucket) |
Returns the number of items in a specific bucket of this container. More... | |
size_type | unsafe_bucket (const key_type &_Keyval) const |
Returns the bucket index that a specific key maps to in this container. More... | |
local_iterator | unsafe_begin (size_type _Bucket) |
Returns an iterator to the first element in this container for a specific bucket. More... | |
const_local_iterator | unsafe_begin (size_type _Bucket) const |
Returns an iterator to the first element in this container for a specific bucket. More... | |
local_iterator | unsafe_end (size_type _Bucket) |
Returns an iterator to the last element in this container for a specific bucket. More... | |
const_local_iterator | unsafe_end (size_type _Bucket) const |
Returns an iterator to the last element in this container for a specific bucket. More... | |
const_local_iterator | unsafe_cbegin (size_type) const |
Returns an iterator to the first element in this container for a specific bucket. More... | |
const_local_iterator | unsafe_cend (size_type) const |
Returns an iterator to the first element in this container for a specific bucket. More... | |
float | load_factor () const |
Computes and returns the current load factor of the container. The load factor is the number of elements in the container divided by the number of buckets. More... | |
float | max_load_factor () const |
Gets or sets the maximum load factor of the container. The maximum load factor is the largest number of elements than can be in any bucket before the container grows its internal table. More... | |
void | max_load_factor (float _Newmax) |
Gets or sets the maximum load factor of the container. The maximum load factor is the largest number of elements than can be in any bucket before the container grows its internal table. More... | |
void | rehash (size_type _Buckets) |
Rebuilds the hash table. More... | |
Public Member Functions inherited from Concurrency::details::_Concurrent_unordered_map_traits< _Key_type, _Element_type, details::_Hash_compare< _Key_type, _Hasher, _Key_equality >, _Allocator_type, false > | |
_Concurrent_unordered_map_traits () | |
_Concurrent_unordered_map_traits (const _Key_compare &_Traits) | |
The concurrent_unordered_map
class is a concurrency-safe container that controls a varying-length sequence of elements of type std::pair<const _Key_type, _Element_type>
. The sequence is represented in a way that enables concurrency-safe append, element access, iterator access, and iterator traversal operations.
_Key_type | The key type. |
_Element_type | The mapped type. |
_Hasher | The hash function object type. This argument is optional and the default value is std::tr1::hash< _Key_type > . |
_Key_equality | The equality comparison function object type. This argument is optional and the default value is std::equal_to< _Key_type > . |
_Allocator_type | The type that represents the stored allocator object that encapsulates details about the allocation and deallocation of memory for the concurrent unordered map. This argument is optional and the default value is std::allocator<std::pair< _Key_type , _Element_type >> . |
For detailed information on the concurrent_unordered_map
class, see Parallel Containers and Objects.
typedef details::_Hash_compare<_Key_type, _Hasher, _Key_equality> Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::_Key_compare |
typedef details::_Concurrent_hash< details::_Concurrent_unordered_map_traits<_Key_type, _Element_type, _Key_compare, _Allocator_type, false> > Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::_Mybase |
typedef concurrent_unordered_map<_Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type> Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::_Mytype |
typedef _Mybase::allocator_type Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::allocator_type |
The type of an allocator for managing storage.
typedef _Mybase::const_iterator Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::const_iterator |
The type of a constant iterator for the controlled sequence.
typedef _Mybase::const_iterator Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::const_local_iterator |
The type of a constant bucket iterator for the controlled sequence.
typedef _Mybase::const_pointer Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::const_pointer |
The type of a constant pointer to an element.
typedef _Mybase::const_reference Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::const_reference |
The type of a constant reference to an element.
typedef _Mybase::difference_type Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::difference_type |
The type of a signed distance between two elements.
typedef _Hasher Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::hasher |
The type of the hash function.
typedef _Mybase::iterator Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::iterator |
The type of an iterator for the controlled sequence.
typedef _Key_equality Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::key_equal |
The type of the comparison function.
typedef _Key_type Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::key_type |
The type of an ordering key.
typedef _Mybase::iterator Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::local_iterator |
The type of a bucket iterator for the controlled sequence.
typedef _Element_type Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::mapped_type |
The type of a mapped value associated with each key.
typedef _Mybase::pointer Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::pointer |
The type of a pointer to an element.
typedef _Mybase::reference Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::reference |
The type of a reference to an element.
typedef _Mybase::size_type Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::size_type |
The type of an unsigned distance between two elements.
typedef _Mybase::value_type Concurrency::concurrent_unordered_map< _Key_type, _Element_type, _Hasher, _Key_equality, _Allocator_type >::value_type |
The type of an element.
|
inlineexplicit |
Constructs a concurrent unordered map.
_Number_of_buckets | The initial number of buckets for this unordered map. |
_Hasher | The hash function for this unordered map. |
_Key_equality | The equality comparison function for this unordered map. |
_Allocator | The allocator for this unordered map. |
All constructors store an allocator object _Allocator and initialize the unordered map.
The first constructor specifies an empty initial map and explicitly specifies the number of buckets, hash function, equality function and allocator type to be used.
The second constructor specifies an allocator for the unordered map.
The third constructor specifies values supplied by the iterator range [_Begin , _End ).
The fourth and fifth constructors specify a copy of the concurrent unordered map _Umap .
The last constructor specifies a move of the concurrent unordered map _Umap .
|
inline |
Constructs a concurrent unordered map.
_Allocator | The allocator for this unordered map. |
All constructors store an allocator object _Allocator and initialize the unordered map.
The first constructor specifies an empty initial map and explicitly specifies the number of buckets, hash function, equality function and allocator type to be used.
The second constructor specifies an allocator for the unordered map.
The third constructor specifies values supplied by the iterator range [_Begin , _End ).
The fourth and fifth constructors specify a copy of the concurrent unordered map _Umap .
The last constructor specifies a move of the concurrent unordered map _Umap .
|
inline |
Constructs a concurrent unordered map.
_Iterator | The type of the input iterator. |
_Begin | The position of the first element in the range of elements to be copied. |
_End | The position of the first element beyond the range of elements to be copied. |
_Number_of_buckets | The initial number of buckets for this unordered map. |
_Hasher | The hash function for this unordered map. |
_Key_equality | The equality comparison function for this unordered map. |
_Allocator | The allocator for this unordered map. |
All constructors store an allocator object _Allocator and initialize the unordered map.
The first constructor specifies an empty initial map and explicitly specifies the number of buckets, hash function, equality function and allocator type to be used.
The second constructor specifies an allocator for the unordered map.
The third constructor specifies values supplied by the iterator range [_Begin , _End ).
The fourth and fifth constructors specify a copy of the concurrent unordered map _Umap .
The last constructor specifies a move of the concurrent unordered map _Umap .
|
inline |
Constructs a concurrent unordered map.
_Umap | The source concurrent_unordered_map object to copy or move elements from. |
All constructors store an allocator object _Allocator and initialize the unordered map.
The first constructor specifies an empty initial map and explicitly specifies the number of buckets, hash function, equality function and allocator type to be used.
The second constructor specifies an allocator for the unordered map.
The third constructor specifies values supplied by the iterator range [_Begin , _End ).
The fourth and fifth constructors specify a copy of the concurrent unordered map _Umap .
The last constructor specifies a move of the concurrent unordered map _Umap .
|
inline |
Constructs a concurrent unordered map.
_Umap | The source concurrent_unordered_map object to copy or move elements from. |
_Allocator | The allocator for this unordered map. |
All constructors store an allocator object _Allocator and initialize the unordered map.
The first constructor specifies an empty initial map and explicitly specifies the number of buckets, hash function, equality function and allocator type to be used.
The second constructor specifies an allocator for the unordered map.
The third constructor specifies values supplied by the iterator range [_Begin , _End ).
The fourth and fifth constructors specify a copy of the concurrent unordered map _Umap .
The last constructor specifies a move of the concurrent unordered map _Umap .
|
inline |
Constructs a concurrent unordered map.
_Umap | The source concurrent_unordered_map object to copy or move elements from. |
All constructors store an allocator object _Allocator and initialize the unordered map.
The first constructor specifies an empty initial map and explicitly specifies the number of buckets, hash function, equality function and allocator type to be used.
The second constructor specifies an allocator for the unordered map.
The third constructor specifies values supplied by the iterator range [_Begin , _End ).
The fourth and fifth constructors specify a copy of the concurrent unordered map _Umap .
The last constructor specifies a move of the concurrent unordered map _Umap .
|
inline |
Finds an element in a concurrent_unordered_map
with a specified key value.. This method is concurrency-safe.
_Keyval | The key value to find. |
If the argument key value is not found, the function throws an object of class out_of_range
.
|
inline |
Finds an element in a concurrent_unordered_map
with a specified key value.. This method is concurrency-safe.
_Keyval | The key value to find. |
If the argument key value is not found, the function throws an object of class out_of_range
.
|
inline |
Gets the stored hash function object.
|
inline |
Adds elements to the concurrent_unordered_map
object.
_Value | The value to be inserted. |
The first member function determines whether an element X exists in the sequence whose key has equivalent ordering to that of _Value . If not, it creates such an element X and initializes it with _Value . The function then determines the iterator where
that designates X. If an insertion occurred, the function returns std::pair(where, true)
. Otherwise, it returns std::pair(where, false)
.
The second member function returns insert(_Value ), using _Where as a starting place within the controlled sequence to search for the insertion point.
The third member function inserts the sequence of element values from the range [_First , _Last ).
The last two member functions behave the same as the first two, except that _Value is used to construct the inserted value.
|
inline |
Adds elements to the concurrent_unordered_map
object.
_Where | The starting location to search for an insertion point. |
_Value | The value to be inserted. |
The first member function determines whether an element X exists in the sequence whose key has equivalent ordering to that of _Value . If not, it creates such an element X and initializes it with _Value . The function then determines the iterator where
that designates X. If an insertion occurred, the function returns std::pair(where, true)
. Otherwise, it returns std::pair(where, false)
.
The second member function returns insert(_Value ), using _Where as a starting place within the controlled sequence to search for the insertion point.
The third member function inserts the sequence of element values from the range [_First , _Last ).
The last two member functions behave the same as the first two, except that _Value is used to construct the inserted value.
|
inline |
Adds elements to the concurrent_unordered_map
object.
_Iterator | The iterator type used for insertion. |
_First | The beginning of the range to insert. |
_Last | The end of the range to insert. |
The first member function determines whether an element X exists in the sequence whose key has equivalent ordering to that of _Value . If not, it creates such an element X and initializes it with _Value . The function then determines the iterator where
that designates X. If an insertion occurred, the function returns std::pair(where, true)
. Otherwise, it returns std::pair(where, false)
.
The second member function returns insert(_Value ), using _Where as a starting place within the controlled sequence to search for the insertion point.
The third member function inserts the sequence of element values from the range [_First , _Last ).
The last two member functions behave the same as the first two, except that _Value is used to construct the inserted value.
|
inline |
Adds elements to the concurrent_unordered_map
object.
_Valty | The type of the value inserted into the map. |
_Value | The value to be inserted. |
The first member function determines whether an element X exists in the sequence whose key has equivalent ordering to that of _Value . If not, it creates such an element X and initializes it with _Value . The function then determines the iterator where
that designates X. If an insertion occurred, the function returns std::pair(where, true)
. Otherwise, it returns std::pair(where, false)
.
The second member function returns insert(_Value ), using _Where as a starting place within the controlled sequence to search for the insertion point.
The third member function inserts the sequence of element values from the range [_First , _Last ).
The last two member functions behave the same as the first two, except that _Value is used to construct the inserted value.
|
inline |
Adds elements to the concurrent_unordered_map
object.
_Valty | The type of the value inserted into the map. |
_Where | The starting location to search for an insertion point. |
_Value | The value to be inserted. |
The first member function determines whether an element X exists in the sequence whose key has equivalent ordering to that of _Value . If not, it creates such an element X and initializes it with _Value . The function then determines the iterator where
that designates X. If an insertion occurred, the function returns std::pair(where, true)
. Otherwise, it returns std::pair(where, false)
.
The second member function returns insert(_Value ), using _Where as a starting place within the controlled sequence to search for the insertion point.
The third member function inserts the sequence of element values from the range [_First , _Last ).
The last two member functions behave the same as the first two, except that _Value is used to construct the inserted value.
|
inline |
Gets the stored equality comparison function object.
|
inline |
Assigns the contents of another concurrent_unordered_map
object to this one. This method is not concurrency-safe.
_Umap | The source concurrent_unordered_map object. |
concurrent_unordered_map
object. After erasing any existing elements a concurrent vector, operator=
either copies or moves the contents of _Umap into the concurrent vector.
|
inline |
Assigns the contents of another concurrent_unordered_map
object to this one. This method is not concurrency-safe.
_Umap | The source concurrent_unordered_map object. |
concurrent_unordered_map
object. After erasing any existing elements in a concurrent vector, operator=
either copies or moves the contents of _Umap into the concurrent vector.
|
inline |
Finds or inserts an element with the specified key. This method is concurrency-safe.
_Keyval | The key value to find or insert. |
If the argument key value is not found, then it is inserted along with the default value of the data type.
operator[]
may be used to insert elements into a map m
using m[_Key] = DataValue;
, where DataValue
is the value of the mapped_type
of the element with a key value of _Key
.
When using operator[]
to insert elements, the returned reference does not indicate whether an insertion is changing a pre-existing element or creating a new one. The member functions find and insert can be used to determine whether an element with a specified key is already present before an insertion.
|
inline |
Finds or inserts an element with the specified key. This method is concurrency-safe.
_Keyval | The key value to find or insert. |
If the argument key value is not found, then it is inserted along with the default value of the data type.
operator[]
may be used to insert elements into a map m
using m[_Key] = DataValue;
, where DataValue
is the value of the mapped_type
of the element with a key value of _Key
.
When using operator[]
to insert elements, the returned reference does not indicate whether an insertion is changing a pre-existing element or creating a new one. The member functions find and insert can be used to determine whether an element with a specified key is already present before an insertion.
|
inline |
Swaps the contents of two concurrent_unordered_map
objects. This method is not concurrency-safe.
_Umap | The concurrent_unordered_map object to swap with. |
|
inline |
Removes elements from the concurrent_unordered_map
at specified positions. This method is not concurrency-safe.
_Where | The iterator position to erase from. |
The first member function removes the element of the controlled sequence pointed to by _Where . The second member function removes the elements in the range [_Begin , _End ).
The third member function removes the elements in the range delimited by concurrent_unordered_map::equal_range(_Keyval).
|
inline |
Removes elements from the concurrent_unordered_map
at specified positions. This method is not concurrency-safe.
_Begin | The position of the first element in the range of elements to be erased. |
_End | The position of the first element beyond the range of elements to be erased. |
The first member function removes the element of the controlled sequence pointed to by _Where . The second member function removes the elements in the range [_Begin , _End ).
The third member function removes the elements in the range delimited by concurrent_unordered_map::equal_range(_Keyval).
|
inline |
Removes elements from the concurrent_unordered_map
at specified positions. This method is not concurrency-safe.
_Keyval | The key value to erase. |
The first member function removes the element of the controlled sequence pointed to by _Where . The second member function removes the elements in the range [_Begin , _End ).
The third member function removes the elements in the range delimited by concurrent_unordered_map::equal_range(_Keyval).