Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
tbb::flow::interface7::priority_queue_node< T, Compare, A > Class Template Reference

Forwards messages in priority order. More...

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface7::priority_queue_node< T, Compare, A >:
tbb::flow::interface7::buffer_node< T, A > tbb::flow::interface7::graph_node tbb::flow::interface7::receiver< T > tbb::flow::interface7::sender< T >

Public Types

typedef T input_type
 
typedef T output_type
 
typedef buffer_node< T, A > base_type
 
typedef sender< input_typepredecessor_type
 
typedef receiver< output_typesuccessor_type
 
- Public Types inherited from tbb::flow::interface7::buffer_node< T, A >
typedef T input_type
 
typedef T output_type
 
typedef sender< input_typepredecessor_type
 
typedef receiver< output_typesuccessor_type
 
typedef buffer_node< T, A > my_class
 
- Public Types inherited from tbb::flow::interface7::receiver< T >
typedef T input_type
 The input type of this receiver.
 
typedef sender< T > predecessor_type
 The predecessor type for this node.
 
- Public Types inherited from tbb::flow::interface7::sender< T >
typedef T output_type
 The output type of this sender.
 
typedef receiver< T > successor_type
 The successor type for this node.
 

Public Member Functions

 priority_queue_node (graph &g)
 Constructor.
 
 priority_queue_node (const priority_queue_node &src)
 Copy constructor.
 
void set_name (const char *name)
 
- Public Member Functions inherited from tbb::flow::interface7::buffer_node< T, A >
 buffer_node (graph &g)
 Constructor.
 
 buffer_node (const buffer_node &src)
 Copy constructor.
 
bool register_successor (receiver< output_type > &r)
 Adds a new successor. More...
 
bool remove_successor (receiver< output_type > &r)
 Removes a successor. More...
 
bool try_get (T &v)
 Request an item from the buffer_node. More...
 
bool try_reserve (T &v)
 Reserves an item. More...
 
bool try_release ()
 Release a reserved item. More...
 
bool try_consume ()
 Consumes a reserved item. More...
 
- Public Member Functions inherited from tbb::flow::interface7::graph_node
 graph_node (graph &g)
 
- Public Member Functions inherited from tbb::flow::interface7::receiver< T >
virtual ~receiver ()
 Destructor.
 
bool try_put (const T &t)
 Put an item to the receiver.
 
virtual bool register_predecessor (predecessor_type &)
 Add a predecessor to the node.
 
virtual bool remove_predecessor (predecessor_type &)
 Remove a predecessor from the node.
 

Protected Types

enum  op_stat { WAIT =0, SUCCEEDED, FAILED }
 
typedef buffer_node< T, A >
::size_type 
size_type
 
typedef buffer_node< T, A >
::item_type 
item_type
 
typedef buffer_node< T, A >
::buffer_operation 
prio_operation
 
- Protected Types inherited from tbb::flow::interface7::buffer_node< T, A >
enum  op_type {
  reg_succ, rem_succ, req_item, res_item,
  rel_res, con_res, put_item, try_fwd_task
}
 
enum  op_stat { WAIT =0, SUCCEEDED, FAILED }
 
typedef size_t size_type
 
typedef
internal::aggregating_functor
< my_class, buffer_operation
my_handler
 

Protected Member Functions

void reset ()
 
void handle_operations (prio_operation *op_list)
 
void internal_forward_task (prio_operation *op)
 Tries to forward valid items to successors.
 
void internal_push (prio_operation *op)
 
void internal_pop (prio_operation *op)
 
void internal_reserve (prio_operation *op)
 
void internal_consume (prio_operation *op)
 
void internal_release (prio_operation *op)
 
- Protected Member Functions inherited from tbb::flow::interface7::buffer_node< T, A >
task * grab_forwarding_task (buffer_operation &op_data)
 
bool enqueue_forwarding_task (buffer_operation &op_data)
 
virtual task * forward_task ()
 This is executed by an enqueued task, the "forwarder".
 
virtual void internal_reg_succ (buffer_operation *op)
 Register successor.
 
virtual void internal_rem_succ (buffer_operation *op)
 Remove successor.
 
task * try_put_task (const T &t)
 receive an item, return a task *if possible
 
void reset_receiver ()
 
- Protected Member Functions inherited from tbb::flow::interface7::receiver< T >
virtual bool is_continue_receiver ()
 

Additional Inherited Members

- Protected Attributes inherited from tbb::flow::interface7::buffer_node< T, A >
internal::round_robin_cache< T,
null_rw_mutex
my_successors
 
bool forwarder_busy
 
internal::aggregator
< my_handler, buffer_operation
my_aggregator
 

Detailed Description

template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>>
class tbb::flow::interface7::priority_queue_node< T, Compare, A >

Forwards messages in priority order.


The documentation for this class was generated from the following file:

Copyright © 2005-2014 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.