tbb::flow::interface7::limiter_node< T > Class Template Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
tbb::flow::interface7::limiter_node< T > Class Template Reference

Forwards messages only if the threshold has not been reached. More...

`#include <flow_graph.h>`

Inheritance diagram for tbb::flow::interface7::limiter_node< T >:

## Public Types
typedef T | input_type
typedef T | output_type
typedef sender< input_type > | predecessor_type
typedef receiver< output_type > | successor_type
typedef receiver< input_type > ::built_predecessors_type | built_predecessors_type
typedef sender< output_type > ::built_successors_type | built_successors_type
typedef receiver< input_type > ::predecessor_list_type | predecessor_list_type
typedef sender< output_type > ::successor_list_type | successor_list_type
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.
typedef internal::edge_container < predecessor_type > | built_predecessors_type
typedef built_predecessors_type::edge_list_type | predecessor_list_type
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.
typedef internal::edge_container < successor_type > | built_successors_type
| interface to record edges for traversal & deletion
typedef built_successors_type::edge_list_type | successor_list_type

## Public Member Functions
| limiter_node (graph &g, size_t threshold, int num_decrement_predecessors=0)
| Constructor.
| limiter_node (const limiter_node &src)
| Copy constructor.
void | set_name (const char *name)
bool | register_successor (receiver< output_type > &r)
| Replace the current successor with this new successor.
bool | remove_successor (receiver< output_type > &r)
| Removes a successor from this node. More...
built_successors_type & | built_successors ()
built_predecessors_type & | built_predecessors ()
void | internal_add_built_successor (receiver< output_type > &src)
void | internal_delete_built_successor (receiver< output_type > &src)
size_t | successor_count ()
void | copy_successors (successor_list_type &v)
void | internal_add_built_predecessor (sender< output_type > &src)
void | internal_delete_built_predecessor (sender< output_type > &src)
size_t | predecessor_count ()
void | copy_predecessors (predecessor_list_type &v)
void | extract ()
bool | register_predecessor (predecessor_type &src)
| Adds src to the list of cached predecessors.
bool | remove_predecessor (predecessor_type &src)
| Removes src from the list of cached predecessors.
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 void | copy_predecessors (predecessor_list_type &)=0
Public Member Functions inherited from tbb::flow::interface7::sender< T >
virtual bool | try_get (T &)
| Request an item from the sender.
virtual bool | try_reserve (T &)
| Reserves an item in the sender.
virtual bool | try_release ()
| Releases the reserved item.
virtual bool | try_consume ()
| Consumes the reserved item.

## Public Attributes
internal::decrementer < limiter_node< T > > | decrement
| The internal receiver< continue_msg > that decrements the count.

## Protected Member Functions
task * | try_put_task (const T &t)
| Puts an item to this receiver.
void | reset_receiver (__TBB_PFG_RESET_ARG(reset_flags))
void | reset_node (__TBB_PFG_RESET_ARG(reset_flags f))
Protected Member Functions inherited from tbb::flow::interface7::graph_node
virtual void | reset_node (__TBB_PFG_RESET_ARG(reset_flags f=rf_reset_protocol))=0
Protected Member Functions inherited from tbb::flow::interface7::receiver< T >
virtual void | reset_receiver (__TBB_PFG_RESET_ARG(reset_flags f=rf_reset_protocol))=0
virtual bool | is_continue_receiver ()

## Friends
class | internal::forward_task_bypass< limiter_node< T > >
class | internal::decrementer< limiter_node< T > >
template<typename R , typename B >
class | run_and_put_task
template<typename X , typename Y >
class | internal::broadcast_cache
template<typename X , typename Y >
class | internal::round_robin_cache

## Additional Inherited Members
Protected Attributes inherited from tbb::flow::interface7::graph_node
graph & | my_graph
graph_node * | next
graph_node * | prev

## Detailed Description

### template<typename T>
class tbb::flow::interface7::limiter_node< T >

Forwards messages only if the threshold has not been reached.

This node forwards items until its threshold is reached. It contains no buffering. If the downstream node rejects, the message is dropped.

## Member Function Documentation

template<typename T >

bool tbb::flow::interface7::limiter_node< T >::remove_successor | ( | receiver< output_type > & | r) |  |
| inlinevirtual

Removes a successor from this node.

r.remove_predecessor(*this) is also called.

Implements tbb::flow::interface7::sender< T >.

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

- flow_graph.h

Copyright © 2005-2015 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.