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 61 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 197 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 211 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 206 of file _concurrent_unordered_impl.h.
typedef const value_type& tbb::interface5::internal::split_ordered_list< T, Allocator >::const_reference |
Definition at line 209 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 204 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 212 of file _concurrent_unordered_impl.h.
typedef node* tbb::interface5::internal::split_ordered_list< T, Allocator >::nodeptr_t |
Definition at line 199 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 205 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 213 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 214 of file _concurrent_unordered_impl.h.
typedef value_type& tbb::interface5::internal::split_ordered_list< T, Allocator >::reference |
Definition at line 208 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 195 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 203 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 202 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 322 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 330 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 370 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 375 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 387 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 391 of file _concurrent_unordered_impl.h.
|
inlineprivate |
Definition at line 663 of file _concurrent_unordered_impl.h.
|
inlineprivate |
Definition at line 677 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 350 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 274 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 282 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 300 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 308 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 499 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 396 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 379 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 383 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 596 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 603 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 609 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 615 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 624 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 587 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 478 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 489 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 346 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 454 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 461 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 467 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 472 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 443 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 447 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 530 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 406 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 631 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 426 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 431 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 435 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 439 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 401 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 411 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 512 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 506 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 660 of file _concurrent_unordered_impl.h.
|
private |
Definition at line 685 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 686 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 684 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=().