SHORE API
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
shore::pipe_facade< Derived, InputType, OutputType, UNCHECKED_PIPE > Class Template Reference

Template to aid implementing pipe elements. More...

Inheritance diagram for shore::pipe_facade< Derived, InputType, OutputType, UNCHECKED_PIPE >:
shore::dp_aligner_pipe< shore::shore::dna_iterator, shore::shore::dna_iterator, typename dp_traits< typename std::iterator_traits< shore::shore::dna_iterator >::value_type, typename std::iterator_traits< shore::shore::dna_iterator >::value_type >::scoring_type > shore::dp_backtracer_pipe< shore::shore::dna_iterator > shore::dp_multialigner_pipe< shore::shore::dna_iterator > shore::splitter< shore::shore::alignment > shore::thru< shore::shore::alignment > shore::thru< shore::shore::read >

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...
 

Detailed Description

template<typename Derived, typename InputType, typename OutputType, bool UNCHECKED_PIPE = false>
class shore::pipe_facade< Derived, InputType, OutputType, UNCHECKED_PIPE >

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().

Member Function Documentation

template<typename Derived, typename InputType, typename OutputType, bool UNCHECKED_PIPE = false>
void shore::pipe_facade< Derived, InputType, OutputType, UNCHECKED_PIPE >::emit ( const OutputType &  d)
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().


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