| 
    Intel(R) Threading Building Blocks Doxygen Documentation
    version 4.2.3
    
   | 
 
Circular doubly-linked list with sentinel. More...
#include <concurrent_monitor.h>
Classes | |
| struct | node_t | 
Public Member Functions | |
| circular_doubly_linked_list_with_sentinel () | |
| ~circular_doubly_linked_list_with_sentinel () | |
| size_t | size () const | 
| bool | empty () const | 
| node_t * | front () const | 
| node_t * | last () const | 
| node_t * | begin () const | 
| const node_t * | end () const | 
| void | add (node_t *n) | 
| add to the back of the list  More... | |
| void | remove (node_t &n) | 
| remove node 'n'  More... | |
| void | flush_to (circular_doubly_linked_list_with_sentinel &lst) | 
| move all elements to 'lst' and initialize the 'this' list  More... | |
| void | clear () | 
Private Attributes | |
| __TBB_atomic size_t | count | 
| node_t | head | 
Additional Inherited Members | |
  Private Member Functions inherited from tbb::internal::no_copy | |
| no_copy (const no_copy &)=delete | |
| no_copy ()=default | |
Circular doubly-linked list with sentinel.
head.next points to the front and head.prev points to the back
Definition at line 33 of file concurrent_monitor.h.
      
  | 
  inline | 
Definition at line 42 of file concurrent_monitor.h.
References clear().
      
  | 
  inline | 
Definition at line 44 of file concurrent_monitor.h.
References __TBB_ASSERT, head, tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::next, and tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::prev.
add to the back of the list
Definition at line 54 of file concurrent_monitor.h.
References tbb::internal::__TBB_load_relaxed(), tbb::internal::__TBB_store_relaxed(), count, head, tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::next, and tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::prev.
Referenced by tbb::internal::concurrent_monitor::notify_relaxed(), and tbb::internal::concurrent_monitor::prepare_wait().
      
  | 
  inline | 
Definition at line 50 of file concurrent_monitor.h.
References front().
      
  | 
  inline | 
Definition at line 82 of file concurrent_monitor.h.
References tbb::internal::__TBB_store_relaxed(), count, head, tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::next, and tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::prev.
Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), circular_doubly_linked_list_with_sentinel(), flush_to(), tbb::internal::concurrent_monitor::notify_all_relaxed(), and tbb::internal::concurrent_monitor::notify_relaxed().
      
  | 
  inline | 
Definition at line 47 of file concurrent_monitor.h.
References size().
Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), tbb::internal::concurrent_monitor::notify_all_relaxed(), tbb::internal::concurrent_monitor::notify_one_relaxed(), tbb::internal::concurrent_monitor::notify_relaxed(), and tbb::internal::concurrent_monitor::~concurrent_monitor().
      
  | 
  inline | 
Definition at line 51 of file concurrent_monitor.h.
References head.
Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), tbb::internal::concurrent_monitor::notify_all_relaxed(), tbb::internal::concurrent_monitor::notify_one_relaxed(), and tbb::internal::concurrent_monitor::notify_relaxed().
      
  | 
  inline | 
move all elements to 'lst' and initialize the 'this' list
Definition at line 71 of file concurrent_monitor.h.
References tbb::internal::__TBB_load_relaxed(), tbb::internal::__TBB_store_relaxed(), clear(), count, head, tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::next, and tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::prev.
Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), and tbb::internal::concurrent_monitor::notify_all_relaxed().
      
  | 
  inline | 
Definition at line 48 of file concurrent_monitor.h.
References head, and tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::next.
Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), begin(), tbb::internal::concurrent_monitor::notify_all_relaxed(), tbb::internal::concurrent_monitor::notify_one_relaxed(), and tbb::internal::concurrent_monitor::notify_relaxed().
      
  | 
  inline | 
Definition at line 49 of file concurrent_monitor.h.
References head, and tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::prev.
Referenced by tbb::internal::concurrent_monitor::notify_relaxed().
remove node 'n'
Definition at line 63 of file concurrent_monitor.h.
References __TBB_ASSERT, tbb::internal::__TBB_load_relaxed(), tbb::internal::__TBB_store_relaxed(), count, tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::next, and tbb::internal::circular_doubly_linked_list_with_sentinel::node_t::prev.
Referenced by tbb::internal::concurrent_monitor::cancel_wait(), tbb::internal::concurrent_monitor::notify_one_relaxed(), and tbb::internal::concurrent_monitor::notify_relaxed().
      
  | 
  inline | 
Definition at line 46 of file concurrent_monitor.h.
References count.
Referenced by empty().
      
  | 
  private | 
Definition at line 84 of file concurrent_monitor.h.
Referenced by add(), clear(), flush_to(), remove(), and size().
      
  | 
  private | 
Definition at line 85 of file concurrent_monitor.h.
Referenced by add(), clear(), end(), flush_to(), front(), last(), and ~circular_doubly_linked_list_with_sentinel().