OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
WorkPipeline< T0, T1, T2, T3, T4, T5, T6 > Class Template Reference

#include <work_pipeline.h>

Classes

struct  PipeProceed
 
struct  PipeProceed< kS, false >
 
struct  PipeProceed< kS, true >
 

Public Types

typedef T6 ResT
 
typedef WorkPipeline< T0, T1,
T2, T3, T4, T5, T6 > 
SelfT
 

Public Member Functions

 WorkPipeline (WorkStageIf< T0, T1 > *s0, WorkStageIf< T1, T2 > *s1=NULL, WorkStageIf< T2, T3 > *s2=NULL, WorkStageIf< T3, T4 > *s3=NULL, WorkStageIf< T4, T5 > *s4=NULL, WorkStageIf< T5, T6 > *s5=NULL)
 
void Start (FinFn finFn, const boost::shared_ptr< T0 > &inp)
 
boost::shared_ptr< ResTResult () const
 

Private Types

typedef boost::tuple< const
boost::shared_ptr< WorkStageIf
< T0, T1 > >, const
boost::shared_ptr< WorkStageIf
< T1, T2 > >, const
boost::shared_ptr< WorkStageIf
< T2, T3 > >, const
boost::shared_ptr< WorkStageIf
< T3, T4 > >, const
boost::shared_ptr< WorkStageIf
< T4, T5 > >, const
boost::shared_ptr< WorkStageIf
< T5, T6 > > > 
sg_type
 

Private Member Functions

void WorkStageCb (uint32_t stage, bool ret_code)
 
template<int kS, typename NextT >
void NextStage ()
 

Private Attributes

bool finished_
 
FinFn finFn_
 
boost::shared_ptr< T0 > inp_
 
boost::shared_ptr< ResTres_
 
sg_type sg_
 

Detailed Description

template<typename T0, typename T1, typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
class WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >

Definition at line 186 of file work_pipeline.h.

Member Typedef Documentation

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
typedef T6 WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::ResT

Definition at line 188 of file work_pipeline.h.

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
typedef WorkPipeline<T0,T1,T2,T3,T4,T5,T6> WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::SelfT

Definition at line 189 of file work_pipeline.h.

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
typedef boost::tuple< const boost::shared_ptr<WorkStageIf<T0,T1> >, const boost::shared_ptr<WorkStageIf<T1,T2> >, const boost::shared_ptr<WorkStageIf<T2,T3> >, const boost::shared_ptr<WorkStageIf<T3,T4> >, const boost::shared_ptr<WorkStageIf<T4,T5> >, const boost::shared_ptr<WorkStageIf<T5,T6> > > WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::sg_type
private

Definition at line 225 of file work_pipeline.h.

Constructor & Destructor Documentation

template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::WorkPipeline ( WorkStageIf< T0, T1 > *  s0,
WorkStageIf< T1, T2 > *  s1 = NULL,
WorkStageIf< T2, T3 > *  s2 = NULL,
WorkStageIf< T3, T4 > *  s3 = NULL,
WorkStageIf< T4, T5 > *  s4 = NULL,
WorkStageIf< T5, T6 > *  s5 = NULL 
)

Definition at line 108 of file work_pipeline-inl.h.

Member Function Documentation

template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
template<int kS, typename NextT >
void WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::NextStage ( )
private

Definition at line 183 of file work_pipeline-inl.h.

template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
boost::shared_ptr< typename WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::ResT > WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::Result ( ) const

Definition at line 138 of file work_pipeline-inl.h.

template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
void WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::Start ( FinFn  finFn,
const boost::shared_ptr< T0 > &  inp 
)

Definition at line 127 of file work_pipeline-inl.h.

template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
void WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::WorkStageCb ( uint32_t  stage,
bool  ret_code 
)
private

Definition at line 146 of file work_pipeline-inl.h.

Member Data Documentation

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
FinFn WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::finFn_
private

Definition at line 228 of file work_pipeline.h.

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
bool WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::finished_
private

Definition at line 227 of file work_pipeline.h.

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
boost::shared_ptr<T0> WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::inp_
private

Definition at line 229 of file work_pipeline.h.

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
boost::shared_ptr<ResT> WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::res_
private

Definition at line 230 of file work_pipeline.h.

template<typename T0 , typename T1 , typename T2 = T1, typename T3 = T2, typename T4 = T3, typename T5 = T4, typename T6 = T5>
sg_type WorkPipeline< T0, T1, T2, T3, T4, T5, T6 >::sg_
private

Definition at line 231 of file work_pipeline.h.


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