Inheritance diagram for csp::common::SeqDelta< DATA_TYPE >:
This process forever reads a value from its input channel, then writes it on its first output channel, then writes it on its second output channel. This ordering of outputs can lead to deadlock if the function of this process is not correctly understood. If you wish to have parallel outputs, use the Delta process; this process is provided because it is faster than the Delta process.
Also be aware that this process will introduce buffering. For a process that does not, look at using the ExtSeqDelta process.
To use this process, you will need to include <cppcsp/common/basic.h>
Public Member Functions | |
SeqDelta (const Chanin< DATA_TYPE > &_in, const Chanout< DATA_TYPE > &_out0, const Chanout< DATA_TYPE > &_out1) | |
Constructs the SeqDelta process. | |
Protected Member Functions | |
void | run () |
You must implement this function to provide the code for your process. |
csp::common::SeqDelta< DATA_TYPE >::SeqDelta | ( | const Chanin< DATA_TYPE > & | _in, | |
const Chanout< DATA_TYPE > & | _out0, | |||
const Chanout< DATA_TYPE > & | _out1 | |||
) | [inline] |
Constructs the SeqDelta process.
_in | The input channel | |
_out0 | The first output channel | |
_out1 | The second output channel |
void csp::common::SeqDelta< DATA_TYPE >::run | ( | ) | [inline, protected, virtual] |
You must implement this function to provide the code for your process.
When the run method finishes, the process will terminate.
You should not let an uncaught exception cause the end of this function. If it derives from std::exception, it will be caught (although this behaviour should not be relied upon) but otherwise undefined behaviour will result.
Implements csp::ThreadCSProcess.