NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Public Members | List of all members
nvbio::priv::PipelineSinkThread< SinkType > Struct Template Reference

Detailed description

template< typename SinkType>
struct nvbio::priv::PipelineSinkThread< SinkType >

A class implementing a pipeline sink thread

Template Parameters
SinkTypea class implementing the actual pipeline stage, must define the following interface:
interface Sink
{
typedef ... argument_type;
bool process(argument_type* src);
};

Definition at line 94 of file pipeline_inl.h.

#include <pipeline_inl.h>

Inheritance diagram for nvbio::priv::PipelineSinkThread< SinkType >:
nvbio::priv::PipelineThreadBase nvbio::Thread< PipelineThreadBase > nvbio::ThreadBase

Public Types

typedef SinkType::argument_type argument_type
 

Public Methods

 PipelineSinkThread (SinkType *stage)
 
void run ()
 
bool fill ()
 
- Public Methods inherited from nvbio::priv::PipelineThreadBase
 PipelineThreadBase ()
 
virtual ~PipelineThreadBase ()
 
virtual void * fetch (const uint32 i)
 
virtual void release (const uint32 i)
 
void add_dependency (PipelineThreadBase *dep)
 
void add_client ()
 
void set_id (const uint32 id)
 
- Public Methods inherited from nvbio::Thread< PipelineThreadBase >
void create ()
 create the thread More...
 
void join ()
 join the thread More...
 
- Public Methods inherited from nvbio::ThreadBase
 ThreadBase ()
 
 ~ThreadBase ()
 
void set_id (const uint32 id)
 
uint32 get_id () const
 
void create (void *(*func)(void *), void *arg)
 create the thread More...
 
void join ()
 join the thread More...
 

Public Members

SinkType * m_stage
 
uint32 m_counter
 
float m_time
 
- Public Members inherited from nvbio::priv::PipelineThreadBase
std::vector< PipelineThreadBase * > m_deps
 
uint32 m_clients
 
uint32 m_id
 

Member Typedef Documentation

template<typename SinkType>
typedef SinkType::argument_type nvbio::priv::PipelineSinkThread< SinkType >::argument_type

Definition at line 96 of file pipeline_inl.h.

Constructor & Destructor Documentation

template<typename SinkType>
nvbio::priv::PipelineSinkThread< SinkType >::PipelineSinkThread ( SinkType *  stage)
inline

constructor

Definition at line 100 of file pipeline_inl.h.

Member Function Documentation

template<typename SinkType>
bool nvbio::priv::PipelineSinkThread< SinkType >::fill ( )
inline

fill the next batch

Definition at line 112 of file pipeline_inl.h.

template<typename SinkType>
void nvbio::priv::PipelineSinkThread< SinkType >::run ( )
inlinevirtual

run the thread

Reimplemented from nvbio::priv::PipelineThreadBase.

Definition at line 105 of file pipeline_inl.h.

Member Data Documentation

template<typename SinkType>
uint32 nvbio::priv::PipelineSinkThread< SinkType >::m_counter

Definition at line 151 of file pipeline_inl.h.

template<typename SinkType>
SinkType* nvbio::priv::PipelineSinkThread< SinkType >::m_stage

Definition at line 150 of file pipeline_inl.h.

template<typename SinkType>
float nvbio::priv::PipelineSinkThread< SinkType >::m_time

Definition at line 152 of file pipeline_inl.h.


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