Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <_concurrent_unordered_impl.h>
Classes | |
struct | node |
Public Types | |
typedef split_ordered_list< T, Allocator > | self_type |
typedef tbb::internal::allocator_rebind< Allocator, T >::type | allocator_type |
typedef node * | nodeptr_t |
typedef tbb::internal::allocator_traits< allocator_type >::value_type | value_type |
typedef tbb::internal::allocator_traits< allocator_type >::size_type | size_type |
typedef tbb::internal::allocator_traits< allocator_type >::difference_type | difference_type |
typedef tbb::internal::allocator_traits< allocator_type >::pointer | pointer |
typedef tbb::internal::allocator_traits< allocator_type >::const_pointer | const_pointer |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef solist_iterator< self_type, const value_type > | const_iterator |
typedef solist_iterator< self_type, value_type > | iterator |
typedef flist_iterator< self_type, const value_type > | raw_const_iterator |
typedef flist_iterator< self_type, value_type > | raw_iterator |
Static Public Member Functions | |
static sokey_t | get_order_key (const raw_const_iterator &it) |
static sokey_t | get_safe_order_key (const raw_const_iterator &it) |
static iterator | get_iterator (const_iterator it) |
static nodeptr_t | try_insert_atomic (nodeptr_t previous, nodeptr_t new_node, nodeptr_t current_node) |
Private Member Functions | |
void | check_range (raw_iterator first, raw_iterator last) |
void | check_range () |
Private Attributes | |
tbb::internal::allocator_rebind< allocator_type, node >::type | my_node_allocator |
size_type | my_element_count |
nodeptr_t | my_head |
Friends | |
template<typename Traits > | |
class | concurrent_unordered_base |
Definition at line 57 of file _concurrent_unordered_impl.h.
typedef tbb::internal::allocator_rebind<Allocator, T>::type tbb::interface5::internal::split_ordered_list< T, Allocator >::allocator_type |
Definition at line 193 of file _concurrent_unordered_impl.h.
typedef solist_iterator<self_type, const value_type> tbb::interface5::internal::split_ordered_list< T, Allocator >::const_iterator |
Definition at line 207 of file _concurrent_unordered_impl.h.
typedef tbb::internal::allocator_traits<allocator_type>::const_pointer tbb::interface5::internal::split_ordered_list< T, Allocator >::const_pointer |
Definition at line 202 of file _concurrent_unordered_impl.h.
typedef const value_type& tbb::interface5::internal::split_ordered_list< T, Allocator >::const_reference |
Definition at line 205 of file _concurrent_unordered_impl.h.
typedef tbb::internal::allocator_traits<allocator_type>::difference_type tbb::interface5::internal::split_ordered_list< T, Allocator >::difference_type |
Definition at line 200 of file _concurrent_unordered_impl.h.
typedef solist_iterator<self_type, value_type> tbb::interface5::internal::split_ordered_list< T, Allocator >::iterator |
Definition at line 208 of file _concurrent_unordered_impl.h.
typedef node* tbb::interface5::internal::split_ordered_list< T, Allocator >::nodeptr_t |
Definition at line 195 of file _concurrent_unordered_impl.h.
typedef tbb::internal::allocator_traits<allocator_type>::pointer tbb::interface5::internal::split_ordered_list< T, Allocator >::pointer |
Definition at line 201 of file _concurrent_unordered_impl.h.
typedef flist_iterator<self_type, const value_type> tbb::interface5::internal::split_ordered_list< T, Allocator >::raw_const_iterator |
Definition at line 209 of file _concurrent_unordered_impl.h.
typedef flist_iterator<self_type, value_type> tbb::interface5::internal::split_ordered_list< T, Allocator >::raw_iterator |
Definition at line 210 of file _concurrent_unordered_impl.h.
typedef value_type& tbb::interface5::internal::split_ordered_list< T, Allocator >::reference |
Definition at line 204 of file _concurrent_unordered_impl.h.
typedef split_ordered_list<T, Allocator> tbb::interface5::internal::split_ordered_list< T, Allocator >::self_type |
Definition at line 191 of file _concurrent_unordered_impl.h.
typedef tbb::internal::allocator_traits<allocator_type>::size_type tbb::interface5::internal::split_ordered_list< T, Allocator >::size_type |
Definition at line 199 of file _concurrent_unordered_impl.h.
typedef tbb::internal::allocator_traits<allocator_type>::value_type tbb::interface5::internal::split_ordered_list< T, Allocator >::value_type |
Definition at line 198 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 309 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 317 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 357 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::begin(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::cbegin().
|
inline |
Definition at line 362 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 374 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 378 of file _concurrent_unordered_impl.h.
|
inlineprivate |
Definition at line 650 of file _concurrent_unordered_impl.h.
|
inlineprivate |
Definition at line 664 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::check_range(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::insert_dummy(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::try_insert().
|
inline |
Definition at line 337 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::clear(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_copy(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::~split_ordered_list().
|
inline |
Definition at line 261 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::concurrent_unordered_base(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::insert_dummy(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_insert(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::split_ordered_list().
|
inline |
Definition at line 269 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 287 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 295 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 486 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::clear(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::erase_node(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::insert_dummy(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_insert(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::~split_ordered_list().
|
inline |
Definition at line 383 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 366 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::cend(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::end(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::try_insert().
|
inline |
Definition at line 370 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 583 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::erase_node(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_erase(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_extract(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all().
|
inline |
Definition at line 590 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 596 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 602 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 611 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 574 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::erase_node().
|
inline |
Definition at line 465 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::begin(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::erase_node(), tbb::interface5::internal::concurrent_unordered_base< Traits >::const_range_type::set_midpoint(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::unsafe_begin(), and tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::unsafe_end().
|
inline |
Definition at line 476 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 333 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 441 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::concurrent_unordered_base< Traits >::const_range_type::begin(), tbb::interface5::internal::concurrent_unordered_base< Traits >::const_range_type::end(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::erase_node(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_equal_range(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_erase(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_extract(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_find(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_insert(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), and tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::unsafe_erase().
|
inline |
Definition at line 448 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 454 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 459 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 430 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::check_range(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::insert_dummy().
|
inlinestatic |
Definition at line 434 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 517 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 393 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 618 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 413 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::begin(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::check_range(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::clear(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_init(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all().
|
inline |
Definition at line 418 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 422 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::check_range(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::first_real_iterator(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::insert_dummy(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_equal_range(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_erase(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_extract(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_find(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_insert(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::unsafe_bucket_size(), and tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::unsafe_end().
|
inline |
Definition at line 426 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 388 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 398 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 499 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 493 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::concurrent_unordered_base(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::insert_dummy(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::try_insert().
|
friend |
Definition at line 647 of file _concurrent_unordered_impl.h.
|
private |
Definition at line 672 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::clear(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::concurrent_unordered_base(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::empty(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::erase_node(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::size(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::swap(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::try_insert().
|
private |
Definition at line 673 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::clear(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::concurrent_unordered_base(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::raw_begin(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::split_ordered_list(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::swap(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::~split_ordered_list().
|
private |
Definition at line 671 of file _concurrent_unordered_impl.h.
Referenced by tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::create_node(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::create_node_v(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::destroy_node(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::get_allocator(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::max_size(), and tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::operator=().