#include <flow_graph.h>
Inheritance diagram for tbb::flow::interface6::continue_receiver:

| Public Types | |
| typedef continue_msg | input_type | 
| The input type. | |
| typedef sender< continue_msg > | predecessor_type | 
| The predecessor type for this node. | |
| Public Member Functions | |
| continue_receiver (int number_of_predecessors=0) | |
| Constructor. | |
| continue_receiver (const continue_receiver &src) | |
| Copy constructor. | |
| virtual | ~continue_receiver () | 
| Destructor. | |
| bool | register_predecessor (predecessor_type &) | 
| Increments the trigger threshold. | |
| bool | remove_predecessor (predecessor_type &) | 
| Decrements the trigger threshold. | |
| Protected Member Functions | |
| task * | try_put_task (const input_type &) | 
| void | reset_receiver () | 
| virtual task * | execute ()=0 | 
| Does whatever should happen when the threshold is reached. | |
| bool | is_continue_receiver () | 
| Protected Attributes | |
| spin_mutex | my_mutex | 
| int | my_predecessor_count | 
| int | my_current_count | 
| int | my_initial_predecessor_count | 
| Friends | |
| class | run_and_put_task | 
| put item to successor; return task to run the successor if possible. | |
| class | internal::broadcast_cache | 
| class | internal::round_robin_cache | 
| class | limiter_node | 
| put receiver back in initial state | |
| class | internal::successor_cache | 
These receivers automatically reset, but cannot be explicitly waited on
| virtual task* tbb::flow::interface6::continue_receiver::execute | ( | ) |  [protected, pure virtual] | 
Does whatever should happen when the threshold is reached.
This should be very fast or else spawn a task. This is called while the sender is blocked in the try_put().
| bool tbb::flow::interface6::continue_receiver::remove_predecessor | ( | predecessor_type & | ) |  [inline] | 
Decrements the trigger threshold.
Does not check to see if the removal of the predecessor now makes the current count exceed the new threshold. So removing a predecessor while the graph is active can cause unexpected results.