SHORE API
|
Template to aid implementing pipe elements. More...
Public Types | |
typedef InputType | append_type |
typedef OutputType | current_type |
Public Member Functions | |
pipe_facade (const pipe_facade &t) | |
Copy constructor: need to bind the slots to the correct object. | |
void | disconnect_inputs () |
Disconnect all connected upstream pipeline elements. | |
void | disconnect_outputs () |
Disconnect all connected downstream pipeline elements. | |
signal< const OutputType & > & | sigdata () |
signal< void > & | sigflush () |
slot< const InputType & > & | slotdata () |
slot< void > & | slotflush () |
slot< void > & | slotfreeze () |
slot< void > & | slotthaw () |
signal< void > & | sigfreeze () |
signal< void > & | sigthaw () |
Protected Types | |
typedef pipe_facade< Derived, InputType, OutputType, UNCHECKED_PIPE > | facade_type |
Protected Member Functions | |
void | emit (const OutputType &d) |
Called by derived classes to emit data to downstream pipeline elements. More... | |
Template to aid implementing pipe elements.
Derived classes use emit() to send their data downstream. Derived classes may call emit() exactly once in each call to next(), prepare(), append() or flush(). Derived classes must implement 'void append(const InputType &)' to handle appended data. Derived classes may implement 'void prepare(const InputType &)' to emit data before a new element is appended. Derived classes may implement 'void next()' to discard the current element. The next() function may itself call emit() if more data are available. Derived classes may implement 'void flush()' to emit remaining data when no more input is available. Derived classes should specify 'friend class pipeline_core_access' to allow private access rights for prepare(), append(), next() and flush().
|
inlineprotected |
Called by derived classes to emit data to downstream pipeline elements.
Subclasses may call emit() exactly once in each call to next(), prepare(), append() or flush().