Embedded Multicore Building Blocks V1.0.0
|
Sink process template. More...
#include <network.h>
Public Types | |
typedef embb::base::Function< void, INPUT_TYPE_LIST > | FunctionType |
Function type to use when processing tokens. More... | |
typedef Inputs< INPUT_TYPE_LIST > | InputsType |
Input port type list. More... | |
Public Member Functions | |
Sink (Network &network, FunctionType function) | |
Constructs a Sink with a user specified processing function. More... | |
Sink (Network &network, embb::mtapi::Job job) | |
Constructs a Sink with a user specified embb::mtapi::Job. More... | |
Sink (Network &network, FunctionType function, embb::mtapi::ExecutionPolicy const &policy) | |
Constructs a Sink with a user specified processing function. More... | |
Sink (Network &network, embb::mtapi::Job job, embb::mtapi::ExecutionPolicy const &policy) | |
Constructs a Sink with a user specified embb::mtapi::Job. More... | |
virtual bool | HasInputs () const |
InputsType & | GetInputs () |
template<int Index> | |
InputsType::Types< Index >::Result & | GetInput () |
virtual bool | HasOutputs () const |
Sink process template.
A sink marks the end of a particular processing chain. It can have one to five input ports and no output ports. Tokens are processed in order by the sink, regardless in which order they arrive at the input ports.
I1 | Type of first input port. |
I2 | Optional type of second input port. |
I3 | Optional type of third input port. |
I4 | Optional type of fourth input port. |
I5 | Optional type of fifth input port. |
typedef embb::base::Function<void, INPUT_TYPE_LIST> embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::FunctionType |
Function type to use when processing tokens.
typedef Inputs<INPUT_TYPE_LIST> embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::InputsType |
Input port type list.
embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::Sink | ( | Network & | network, |
FunctionType | function | ||
) |
Constructs a Sink with a user specified processing function.
network | The network this node is going to be part of. |
function | The Function to call to process a token. |
embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::Sink | ( | Network & | network, |
embb::mtapi::Job | job | ||
) |
Constructs a Sink with a user specified embb::mtapi::Job.
The Job must be associated with an action function accepting a struct containing copies of the inputs as its argument buffer and a null pointer as its result buffer.
network | The network this node is going to be part of. |
job | The embb::mtapi::Job to process a token. |
embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::Sink | ( | Network & | network, |
FunctionType | function, | ||
embb::mtapi::ExecutionPolicy const & | policy | ||
) |
Constructs a Sink with a user specified processing function.
network | The network this node is going to be part of. |
function | The Function to call to process a token. |
policy | The execution policy of the process. |
embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::Sink | ( | Network & | network, |
embb::mtapi::Job | job, | ||
embb::mtapi::ExecutionPolicy const & | policy | ||
) |
Constructs a Sink with a user specified embb::mtapi::Job.
The Job must be associated with an action function accepting a struct containing copies of the inputs as its argument buffer and a null pointer as its result buffer.
network | The network this node is going to be part of. |
job | The embb::mtapi::Job to process a token. |
policy | The execution policy of the process. |
|
virtual |
true
. InputsType& embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::GetInputs | ( | ) |
InputsType::Types<Index>::Result& embb::dataflow::Network::Sink< I1, I2, I3, I4, I5 >::GetInput | ( | ) |
|
virtual |
false
.