concurrent_unordered_set Class
The concurrent_unordered_set class is an concurrency-safe container that controls a varying-length sequence of elements of type _Key_type. The sequence is represented in a way that enables concurrency-safe append, element access, iterator access and iterator traversal operations.
template <
typename _Key_type,
typename _Hasher = std::tr1::hash<_Key_type>,
typename _Key_equality = std::equal_to<_Key_type>,
typename _Allocator_type = std::allocator<_Key_type>
>
, typename _Key_equality = std::equal_to<_Key_type>, typename _Allocator_type = std::allocator<_Key_type> > class concurrent_unordered_set : public details::_Concurrent_hash< details::_Concurrent_unordered_set_traits<_Key_type, details::_Hash_compare<_Key_type, _Hasher, _Key_equality>, _Allocator_type, false> >;
Parameters
_Key_type
The key 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 set. This argument is optional and the default value is std::allocator<_Key_type**>**.
Members
Public Typedefs
Name |
Description |
---|---|
allocator_type |
The type of an allocator for managing storage. |
const_iterator |
The type of a constant iterator for the controlled sequence. |
const_local_iterator |
The type of a constant bucket iterator for the controlled sequence. |
const_pointer |
The type of a constant pointer to an element. |
const_reference |
The type of a constant reference to an element. |
difference_type |
The type of a signed distance between two elements. |
hasher |
The type of the hash function. |
iterator |
The type of an iterator for the controlled sequence. |
key_equal |
The type of the comparison function. |
key_type |
The type of an ordering key. |
local_iterator |
The type of a bucket iterator for the controlled sequence. |
pointer |
The type of a pointer to an element. |
reference |
The type of a reference to an element. |
size_type |
The type of an unsigned distance between two elements. |
value_type |
The type of an element. |
Public Constructors
Name |
Description |
---|---|
concurrent_unordered_set::concurrent_unordered_set Constructor |
Overloaded. Constructs a concurrent unordered set. |
Public Methods
Name |
Description |
---|---|
Returns an iterator pointing to the first element in the concurrent container. This method is concurrency safe. |
|
Returns a const iterator pointing to the first element in the concurrent container. This method is concurrency safe. |
|
Returns a const iterator pointing to the location succeeding the last element in the concurrent container. This method is concurrency safe. |
|
Erases all the elements in the concurrent container. This function is not concurrency safe. |
|
Counts the number of elements matching a specified key. This function is concurrency safe. |
|
Tests whether no elements are present. This method is concurrency safe. |
|
Returns an iterator pointing to the location succeeding the last element in the concurrent container. This method is concurrency safe. |
|
Finds a range that matches a specified key. This function is concurrency safe. |
|
Finds an element that matches a specified key. This function is concurrency safe. |
|
Returns the stored allocator object for this concurrent container. This method is concurrency safe. |
|
Returns the stored hash function object. |
|
Overloaded. Adds elements to the concurrent_unordered_set object. |
|
Returns the stored equality comparison function object. |
|
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. |
|
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. |
|
Returns the maximum size of the concurrent container, determined by the allocator. This method is concurrency safe. |
|
Rebuilds the hash table. |
|
Returns the number of elements in this concurrent container. This method is concurrency safe. |
|
Swaps the contents of two concurrent_unordered_set objects. This method is not concurrency-safe. |
|
Returns an iterator to the first element in this container for a specific bucket. |
|
Returns the bucket index that a specific key maps to in this container. |
|
Returns the current number of buckets in this container. |
|
Returns the number of items in a specific bucket of this container. |
|
Returns an iterator to the first element in this container for a specific bucket. |
|
Returns an iterator to the location succeeding the last element in a specific bucket. |
|
Returns an iterator to the last element in this container for a specific bucket. |
|
Overloaded. Removes elements from the concurrent_unordered_set at specified positions. This method is not concurrency-safe. |
|
Returns the maximum number of buckets in this container. |
Public Operators
Name |
Description |
---|---|
Overloaded. Assigns the contents of another concurrent_unordered_set object to this one. This method is not concurrency-safe. |
Remarks
For detailed information on the concurrent_unordered_set class, see Parallel Containers and Objects.
Inheritance Hierarchy
_Traits
_Concurrent_hash
concurrent_unordered_set
Requirements
Header: concurrent_unordered_set.h
Namespace: concurrency