| 
    Intel(R) Threading Building Blocks Doxygen Documentation
    version 4.2.3
    
   | 
 
Forwards messages in priority order. More...
#include <flow_graph.h>
Public Member Functions | |
| __TBB_STATIC_ASSERT ((tbb::internal::is_same_type< Allocator, null_type >::value), "Allocator template parameter for flow graph nodes is deprecated and will removed in the future. " "To temporary enable the deprecated interface specify TBB_ENABLE_DEPRECATED_NODE_ALLOCATOR.") | |
| __TBB_NOINLINE_SYM | priority_queue_node (graph &g, const Compare &comp=Compare()) | 
| Constructor.  More... | |
| __TBB_NOINLINE_SYM | priority_queue_node (const priority_queue_node &src) | 
| Copy constructor.  More... | |
  Public Member Functions inherited from tbb::flow::interface11::buffer_node< T, Allocator > | |
| __TBB_STATIC_ASSERT ((tbb::internal::is_same_type< Allocator, null_type >::value), "Allocator template parameter for flow graph nodes is deprecated and will be removed. " "Specify TBB_DEPRECATED_FLOW_NODE_ALLOCATOR to temporary enable the deprecated interface.") | |
| __TBB_NOINLINE_SYM | buffer_node (graph &g) | 
| Constructor.  More... | |
| __TBB_NOINLINE_SYM | buffer_node (const buffer_node &src) | 
| Copy constructor.  More... | |
| bool | register_successor (successor_type &r) __TBB_override | 
| Adds a new successor.  More... | |
| bool | remove_successor (successor_type &r) __TBB_override | 
| Removes a successor.  More... | |
| bool | try_get (T &v) __TBB_override | 
| Request an item from the buffer_node.  More... | |
| bool | try_reserve (T &v) __TBB_override | 
| Reserves an item.  More... | |
| bool | try_release () __TBB_override | 
| Release a reserved item.  More... | |
| bool | try_consume () __TBB_override | 
| Consumes a reserved item.  More... | |
  Public Member Functions inherited from tbb::flow::interface11::graph_node | |
| graph_node (graph &g) | |
| virtual | ~graph_node () | 
  Public Member Functions inherited from tbb::flow::interface11::internal::reservable_item_buffer< T, cache_aligned_allocator< T > > | |
| reservable_item_buffer () | |
| void | reset () | 
  Public Member Functions inherited from tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > > | |
| item_buffer () | |
| Constructor.  More... | |
| ~item_buffer () | |
| void | reset () | 
  Public Member Functions inherited from tbb::flow::interface11::receiver< T > | |
| bool | try_put (const typename internal::async_helpers< T >::filtered_type &t) | 
| Put an item to the receiver.  More... | |
| bool | try_put (const typename internal::async_helpers< T >::async_type &t) | 
  Public Member Functions inherited from tbb::flow::interface11::internal::untyped_receiver | |
| virtual | ~untyped_receiver () | 
| Destructor.  More... | |
| template<typename X > | |
| bool | try_put (const X &t) | 
| Put an item to the receiver.  More... | |
| virtual bool | register_predecessor (predecessor_type &) | 
| Add a predecessor to the node.  More... | |
| virtual bool | remove_predecessor (predecessor_type &) | 
| Remove a predecessor from the node.  More... | |
  Public Member Functions inherited from tbb::flow::interface11::internal::untyped_sender | |
| virtual | ~untyped_sender () | 
Protected Types | |
| typedef buffer_node< T, Allocator >::size_type | size_type | 
| typedef buffer_node< T, Allocator >::item_type | item_type | 
| typedef buffer_node< T, Allocator >::buffer_operation | prio_operation | 
  Protected Types inherited from tbb::flow::interface11::buffer_node< T, Allocator > | |
| enum | op_type {  reg_succ, rem_succ, req_item, res_item, rel_res, con_res, put_item, try_fwd_task }  | 
| typedef size_t | size_type | 
| typedef internal::aggregating_functor< class_type, buffer_operation > | handler_type | 
  Protected Types inherited from tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > > | |
| typedef size_t | size_type | 
| typedef aligned_pair< item_type, buffer_item_state >::type | buffer_item_type | 
| typedef tbb::internal::allocator_rebind< cache_aligned_allocator< T >, buffer_item_type >::type | allocator_type | 
Private Member Functions | |
| void | order () | 
| bool | is_item_valid () | 
| void | try_put_and_add_task (task *&last_task) | 
| bool | prio_use_tail () | 
| void | prio_push (const T &src) | 
| void | prio_pop () | 
| const T & | prio () | 
| void | heapify () | 
| void | reheap () | 
Private Attributes | |
| Compare | compare | 
| size_type | mark | 
| input_type | reserved_item | 
Friends | |
| template<typename , typename > | |
| class | buffer_node | 
Forwards messages in priority order.
Definition at line 2749 of file flow_graph.h.
| typedef buffer_node<T,Allocator> tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::base_type | 
Definition at line 2760 of file flow_graph.h.
| typedef priority_queue_node tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::class_type | 
Definition at line 2761 of file flow_graph.h.
| typedef T tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::input_type | 
Definition at line 2758 of file flow_graph.h.
      
  | 
  protected | 
Definition at line 2804 of file flow_graph.h.
| typedef T tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::output_type | 
Definition at line 2759 of file flow_graph.h.
| typedef receiver<input_type>::predecessor_type tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::predecessor_type | 
Definition at line 2762 of file flow_graph.h.
      
  | 
  protected | 
Definition at line 2805 of file flow_graph.h.
      
  | 
  protected | 
Definition at line 2803 of file flow_graph.h.
| typedef sender<output_type>::successor_type tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::successor_type | 
Definition at line 2763 of file flow_graph.h.
      
  | 
  inlineexplicit | 
Constructor.
Definition at line 2766 of file flow_graph.h.
References CODEPTR, tbb::internal::fgt_node(), and tbb::flow::interface11::graph_node::my_graph.
      
  | 
  inline | 
Copy constructor.
Definition at line 2782 of file flow_graph.h.
References CODEPTR, tbb::internal::fgt_node(), and tbb::flow::interface11::graph_node::my_graph.
| tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::__TBB_STATIC_ASSERT | ( | (tbb::internal::is_same_type< Allocator, null_type >::value) | , | 
| "Allocator template parameter for flow graph nodes is deprecated and will removed in the future. " "To temporary enable the deprecated interface specify TBB_ENABLE_DEPRECATED_NODE_ALLOCATOR." | |||
| ) | 
      
  | 
  inlineprotectedvirtual | 
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2812 of file flow_graph.h.
References tbb::flow::interface11::buffer_node< T, Allocator >::handle_operations_impl().
      
  | 
  inlineprivate | 
Definition at line 2934 of file flow_graph.h.
References tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::compare, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::fetch_item(), tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::get_my_item(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::mark, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::move_item(), tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail, parent, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::place_item(), and void.
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::order().
      
  | 
  inlineprotectedvirtual | 
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2848 of file flow_graph.h.
References tbb::internal::__TBB_store_with_release(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::reserved_item, and tbb::flow::interface11::internal::SUCCEEDED.
      
  | 
  inlineprotectedvirtual | 
Tries to forward valid items to successors.
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2808 of file flow_graph.h.
References tbb::flow::interface11::buffer_node< T, Allocator >::internal_forward_task_impl().
      
  | 
  inlineprotectedvirtual | 
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2822 of file flow_graph.h.
References tbb::internal::__TBB_store_with_release(), tbb::flow::interface11::internal::FAILED, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail, tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_pop(), and tbb::flow::interface11::internal::SUCCEEDED.
      
  | 
  inlineprotectedvirtual | 
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2816 of file flow_graph.h.
References tbb::internal::__TBB_store_with_release(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_push(), and tbb::flow::interface11::internal::SUCCEEDED.
      
  | 
  inlineprotectedvirtual | 
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2854 of file flow_graph.h.
References tbb::internal::__TBB_store_with_release(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_push(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::reserved_item, and tbb::flow::interface11::internal::SUCCEEDED.
      
  | 
  inlineprotectedvirtual | 
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2836 of file flow_graph.h.
References tbb::internal::__TBB_store_with_release(), tbb::flow::interface11::internal::FAILED, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail, tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_pop(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::reserved_item, and tbb::flow::interface11::internal::SUCCEEDED.
      
  | 
  inlineprivate | 
Definition at line 2869 of file flow_graph.h.
References tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail.
      
  | 
  inlineprivate | 
Definition at line 2864 of file flow_graph.h.
References __TBB_ASSERT, tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::heapify(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::mark, and tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail.
      
  | 
  inlineprivate | 
Definition at line 2929 of file flow_graph.h.
References tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::get_my_item(), tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail, and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_use_tail().
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_pop(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_reserve(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::try_put_and_add_task().
      
  | 
  inlineprivate | 
Definition at line 2907 of file flow_graph.h.
References __TBB_ASSERT, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::destroy_item(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::mark, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::move_item(), tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_item_valid(), tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail, tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_use_tail(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::reheap().
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_pop(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_reserve(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::try_put_and_add_task().
      
  | 
  inlineprivate | 
Definition at line 2896 of file flow_graph.h.
References __TBB_ASSERT, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::grow_my_array(), tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_array_size, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::place_item(), and void.
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_push(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_release().
      
  | 
  inlineprivate | 
Definition at line 2890 of file flow_graph.h.
References __TBB_ASSERT, tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::compare, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::get_my_item(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::mark, and tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::my_tail.
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_pop().
      
  | 
  inlineprivate | 
Definition at line 2956 of file flow_graph.h.
References tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::compare, tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::get_my_item(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::mark, and tbb::flow::interface11::internal::item_buffer< T, cache_aligned_allocator< T > >::swap_items().
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_pop().
      
  | 
  inlineprotectedvirtual | 
Reimplemented from tbb::flow::interface11::buffer_node< T, Allocator >.
Definition at line 2798 of file flow_graph.h.
References tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::mark, and tbb::flow::interface11::buffer_node< T, Allocator >::reset_node().
      
  | 
  inlineprivate | 
Definition at line 2873 of file flow_graph.h.
References tbb::flow::interface11::combine_tasks(), tbb::flow::interface11::buffer_node< T, Allocator >::graph_reference(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_pop(), and tbb::flow::interface11::internal::round_robin_cache< T, M >::try_put_task().
      
  | 
  friend | 
Definition at line 2862 of file flow_graph.h.
      
  | 
  private | 
Definition at line 2884 of file flow_graph.h.
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::heapify(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_use_tail(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::reheap().
      
  | 
  private | 
Definition at line 2885 of file flow_graph.h.
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::heapify(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::order(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_pop(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::prio_use_tail(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::reheap(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::reset_node().
      
  | 
  private | 
Definition at line 2887 of file flow_graph.h.
Referenced by tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_consume(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_release(), and tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_reserve().