| 
    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().