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 208 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 222 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 217 of file _concurrent_unordered_impl.h.
typedef const value_type& tbb::interface5::internal::split_ordered_list< T, Allocator >::const_reference |
Definition at line 220 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 215 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 223 of file _concurrent_unordered_impl.h.
typedef node* tbb::interface5::internal::split_ordered_list< T, Allocator >::nodeptr_t |
Definition at line 210 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 216 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 224 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 225 of file _concurrent_unordered_impl.h.
typedef value_type& tbb::interface5::internal::split_ordered_list< T, Allocator >::reference |
Definition at line 219 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 206 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 214 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 213 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 333 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 341 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 381 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 386 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 398 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 402 of file _concurrent_unordered_impl.h.
|
inlineprivate |
Definition at line 674 of file _concurrent_unordered_impl.h.
|
inlineprivate |
Definition at line 688 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 361 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 285 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 293 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 311 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 319 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 510 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 407 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 390 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 394 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 607 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 614 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 620 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 626 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 635 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 598 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 489 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 500 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 357 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 465 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 472 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 478 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 483 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 454 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 458 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 541 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 417 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 642 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 437 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 442 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 446 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 450 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 412 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 422 of file _concurrent_unordered_impl.h.
|
inline |
Definition at line 523 of file _concurrent_unordered_impl.h.
|
inlinestatic |
Definition at line 517 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 671 of file _concurrent_unordered_impl.h.
|
private |
Definition at line 696 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 697 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 695 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=().