Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <_concurrent_skip_list_impl.h>
Public Types | |
using | value_type = Value |
using | size_type = std::size_t |
using | reference = value_type & |
using | const_reference = const value_type & |
using | pointer = value_type * |
using | const_pointer = const value_type * |
using | node_pointer = skip_list_node * |
using | atomic_node_pointer = std::atomic< node_pointer > |
using | mutex_type = Mutex |
using | lock_type = std::unique_lock< mutex_type > |
Public Member Functions | |
skip_list_node (size_type levels) | |
~skip_list_node () | |
skip_list_node (const skip_list_node &)=delete | |
skip_list_node (skip_list_node &&)=delete | |
skip_list_node & | operator= (const skip_list_node &)=delete |
pointer | storage () |
reference | value () |
node_pointer | next (size_type level) const |
void | set_next (size_type level, node_pointer next) |
size_type | height () const |
bool | fully_linked () const |
void | mark_linked () |
lock_type | acquire () |
Private Types | |
using | aligned_storage_type = typename std::aligned_storage< sizeof(value_type), alignof(value_type)>::type |
Private Member Functions | |
atomic_node_pointer & | my_next (size_type level) |
const atomic_node_pointer & | my_next (size_type level) const |
Private Attributes | |
mutex_type | my_mutex |
aligned_storage_type | my_val |
size_type | my_height |
std::atomic_bool | my_fullyLinked |
Definition at line 56 of file _concurrent_skip_list_impl.h.
|
private |
Definition at line 125 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::atomic_node_pointer = std::atomic<node_pointer> |
Definition at line 66 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::const_pointer = const value_type * |
Definition at line 64 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::const_reference = const value_type & |
Definition at line 62 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::lock_type = std::unique_lock<mutex_type> |
Definition at line 69 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::mutex_type = Mutex |
Definition at line 68 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::node_pointer = skip_list_node * |
Definition at line 65 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::pointer = value_type * |
Definition at line 63 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::reference = value_type & |
Definition at line 61 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::size_type = std::size_t |
Definition at line 60 of file _concurrent_skip_list_impl.h.
using tbb::interface10::internal::skip_list_node< Value, Mutex >::value_type = Value |
Definition at line 59 of file _concurrent_skip_list_impl.h.
|
inline |
Definition at line 71 of file _concurrent_skip_list_impl.h.
References __TBB_ASSERT, tbb::interface10::internal::skip_list_node< Value, Mutex >::height(), tbb::interface10::internal::skip_list_node< Value, Mutex >::my_height, and tbb::interface10::internal::skip_list_node< Value, Mutex >::my_next().
|
inline |
Definition at line 77 of file _concurrent_skip_list_impl.h.
References tbb::interface10::internal::skip_list_node< Value, Mutex >::my_height, and tbb::interface10::internal::skip_list_node< Value, Mutex >::my_next().
|
delete |
|
delete |
|
inline |
Definition at line 120 of file _concurrent_skip_list_impl.h.
References tbb::interface10::internal::skip_list_node< Value, Mutex >::my_mutex.
|
inline |
Definition at line 112 of file _concurrent_skip_list_impl.h.
References tbb::internal::memory_order_acquire, and tbb::interface10::internal::skip_list_node< Value, Mutex >::my_fullyLinked.
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::internal_insert_node().
|
inline |
Definition at line 108 of file _concurrent_skip_list_impl.h.
References tbb::interface10::internal::skip_list_node< Value, Mutex >::my_height.
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::clear(), tbb::interface10::internal::concurrent_skip_list< Traits >::delete_node(), tbb::interface10::internal::concurrent_skip_list< Traits >::fill_prev_next_arrays(), tbb::interface10::internal::concurrent_skip_list< Traits >::fill_prev_next_by_ptr(), tbb::interface10::internal::concurrent_skip_list< Traits >::internal_extract(), tbb::interface10::internal::concurrent_skip_list< Traits >::internal_get_bound(), tbb::interface10::internal::concurrent_skip_list< Traits >::internal_insert_node(), tbb::interface10::internal::skip_list_node< Value, Mutex >::next(), tbb::interface10::internal::skip_list_node< Value, Mutex >::set_next(), tbb::interface10::internal::skip_list_node< Value, Mutex >::skip_list_node(), and tbb::interface10::internal::concurrent_skip_list< Traits >::try_insert_node().
|
inline |
Definition at line 116 of file _concurrent_skip_list_impl.h.
References tbb::internal::memory_order_release, and tbb::interface10::internal::skip_list_node< Value, Mutex >::my_fullyLinked.
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::try_insert_node().
|
inlineprivate |
Definition at line 127 of file _concurrent_skip_list_impl.h.
Referenced by tbb::interface10::internal::skip_list_node< Value, Mutex >::next(), tbb::interface10::internal::skip_list_node< Value, Mutex >::set_next(), tbb::interface10::internal::skip_list_node< Value, Mutex >::skip_list_node(), and tbb::interface10::internal::skip_list_node< Value, Mutex >::~skip_list_node().
|
inlineprivate |
Definition at line 132 of file _concurrent_skip_list_impl.h.
|
inline |
Definition at line 96 of file _concurrent_skip_list_impl.h.
References __TBB_ASSERT, tbb::interface10::internal::skip_list_node< Value, Mutex >::height(), tbb::internal::memory_order_acquire, and tbb::interface10::internal::skip_list_node< Value, Mutex >::my_next().
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::begin(), tbb::interface10::internal::concurrent_skip_list< Traits >::cbegin(), tbb::interface10::internal::concurrent_skip_list< Traits >::clear(), tbb::interface10::internal::concurrent_skip_list< Traits >::fill_prev_next_by_ptr(), tbb::interface10::internal::concurrent_skip_list< Traits >::internal_extract(), tbb::interface10::internal::skip_list_node< Value, Mutex >::set_next(), and tbb::interface10::internal::concurrent_skip_list< Traits >::try_lock_nodes().
|
delete |
|
inline |
Definition at line 101 of file _concurrent_skip_list_impl.h.
References __TBB_ASSERT, tbb::interface10::internal::skip_list_node< Value, Mutex >::height(), tbb::internal::memory_order_release, tbb::interface10::internal::skip_list_node< Value, Mutex >::my_next(), and tbb::interface10::internal::skip_list_node< Value, Mutex >::next().
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::clear(), and tbb::interface10::internal::concurrent_skip_list< Traits >::try_insert_node().
|
inline |
Definition at line 88 of file _concurrent_skip_list_impl.h.
References tbb::interface10::internal::skip_list_node< Value, Mutex >::my_val.
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::create_node(), tbb::interface10::internal::concurrent_skip_list< Traits >::delete_node(), and tbb::interface10::internal::skip_list_node< Value, Mutex >::value().
|
inline |
Definition at line 92 of file _concurrent_skip_list_impl.h.
References tbb::interface10::internal::skip_list_node< Value, Mutex >::storage().
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::get_key().
|
private |
Definition at line 140 of file _concurrent_skip_list_impl.h.
Referenced by tbb::interface10::internal::skip_list_node< Value, Mutex >::fully_linked(), and tbb::interface10::internal::skip_list_node< Value, Mutex >::mark_linked().
|
private |
Definition at line 139 of file _concurrent_skip_list_impl.h.
Referenced by tbb::interface10::internal::skip_list_node< Value, Mutex >::height(), tbb::interface10::internal::skip_list_node< Value, Mutex >::skip_list_node(), and tbb::interface10::internal::skip_list_node< Value, Mutex >::~skip_list_node().
|
private |
Definition at line 137 of file _concurrent_skip_list_impl.h.
Referenced by tbb::interface10::internal::skip_list_node< Value, Mutex >::acquire().
|
private |
Definition at line 138 of file _concurrent_skip_list_impl.h.
Referenced by tbb::interface10::internal::skip_list_node< Value, Mutex >::storage().