Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Pipeline< T > Class Template Reference

#include <pipeline.h>

Public Member Functions

 Pipeline (IProducer< T > &producer, IConsumer< T > &consumer, std::string name, INotifier &notifier)
 
void run ()
 
void stop ()
 

Private Types

typedef std::chrono::high_resolution_clock Clock
 
typedef Clock::time_point Time
 

Private Member Functions

void run_consumer ()
 
void run_producer ()
 

Private Attributes

IConsumer< T > & consumer_
 
thread cThread_
 
std::string name_
 
INotifiernotifier_
 
IProducer< T > & producer_
 
thread pThread_
 
BlockingReaderWriterQueue< unique_ptr< T > > queue_
 
atomic< bool > running_
 

Detailed Description

template<typename T>
class Pipeline< T >

Definition at line 132 of file pipeline.h.

Member Typedef Documentation

template<typename T>
typedef std::chrono::high_resolution_clock Pipeline< T >::Clock
private

Definition at line 135 of file pipeline.h.

template<typename T>
typedef Clock::time_point Pipeline< T >::Time
private

Definition at line 136 of file pipeline.h.

Constructor & Destructor Documentation

template<typename T>
Pipeline< T >::Pipeline ( IProducer< T > &  producer,
IConsumer< T > &  consumer,
std::string  name,
INotifier notifier 
)
inline

Definition at line 200 of file pipeline.h.

Member Function Documentation

template<typename T>
void Pipeline< T >::run ( )
inline

Definition at line 205 of file pipeline.h.

template<typename T>
void Pipeline< T >::run_consumer ( )
inlineprivate

Definition at line 173 of file pipeline.h.

template<typename T>
void Pipeline< T >::run_producer ( )
inlineprivate

Definition at line 145 of file pipeline.h.

template<typename T>
void Pipeline< T >::stop ( )
inline

Definition at line 216 of file pipeline.h.

Member Data Documentation

template<typename T>
IConsumer<T>& Pipeline< T >::consumer_
private

Definition at line 138 of file pipeline.h.

template<typename T>
thread Pipeline< T >::cThread_
private

Definition at line 143 of file pipeline.h.

template<typename T>
std::string Pipeline< T >::name_
private

Definition at line 139 of file pipeline.h.

template<typename T>
INotifier& Pipeline< T >::notifier_
private

Definition at line 140 of file pipeline.h.

template<typename T>
IProducer<T>& Pipeline< T >::producer_
private

Definition at line 137 of file pipeline.h.

template<typename T>
thread Pipeline< T >::pThread_
private

Definition at line 143 of file pipeline.h.

template<typename T>
BlockingReaderWriterQueue<unique_ptr<T> > Pipeline< T >::queue_
private

Definition at line 141 of file pipeline.h.

template<typename T>
atomic<bool> Pipeline< T >::running_
private

Definition at line 142 of file pipeline.h.


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


ur_modern_driver
Author(s): Thomas Timm Andersen, Simon Rasmussen
autogenerated on Fri Jun 26 2020 03:37:01