libsdr  0.1.0
A simple SDR library
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
sdr::Combine< Scalar > Class Template Referenceabstract

A combine node. More...

#include <combine.hh>

Inheritance diagram for sdr::Combine< Scalar >:
sdr::Interleave< Scalar >

Public Member Functions

 Combine (size_t N)
 Constructor,
N specifies the number of sinks. More...
 
virtual ~Combine ()
 Destructor. More...
 
virtual void config (const Config &cfg)=0
 Needs to be overridden. More...
 
virtual void process (std::vector< RingBuffer< Scalar > > &buffers, size_t N)=0
 Needs to be overridden. More...
 

Protected Member Functions

void notifyConfig (size_t idx, const Config &cfg)
 Unifies the configuration of all sinks. More...
 
void notifyData (size_t idx)
 Determines the minimum amount of data that is available on all ring buffers. More...
 

Protected Attributes

std::vector< RingBuffer< Scalar > > _buffers
 The ring buffers of all combine sinks. More...
 
std::vector< CombineSink< Scalar > * > _sinks
 The combine sinks. More...
 
Config _config
 The output configuration. More...
 

Friends

class CombineSink< Scalar >
 

Detailed Description

template<class Scalar>
class sdr::Combine< Scalar >

A combine node.

This node allows to combine several streams into one.

Constructor & Destructor Documentation

template<class Scalar>
sdr::Combine< Scalar >::Combine ( size_t  N)
inline

Constructor,
N specifies the number of sinks.

template<class Scalar>
virtual sdr::Combine< Scalar >::~Combine ( )
inlinevirtual

Destructor.

Member Function Documentation

template<class Scalar>
virtual void sdr::Combine< Scalar >::config ( const Config cfg)
pure virtual

Needs to be overridden.

Implemented in sdr::Interleave< Scalar >.

template<class Scalar>
void sdr::Combine< Scalar >::notifyConfig ( size_t  idx,
const Config cfg 
)
inlineprotected

Unifies the configuration of all sinks.

template<class Scalar>
void sdr::Combine< Scalar >::notifyData ( size_t  idx)
inlineprotected

Determines the minimum amount of data that is available on all ring buffers.

template<class Scalar>
virtual void sdr::Combine< Scalar >::process ( std::vector< RingBuffer< Scalar > > &  buffers,
size_t  N 
)
pure virtual

Needs to be overridden.

Implemented in sdr::Interleave< Scalar >.

Member Data Documentation

template<class Scalar>
std::vector< RingBuffer<Scalar> > sdr::Combine< Scalar >::_buffers
protected

The ring buffers of all combine sinks.

template<class Scalar>
Config sdr::Combine< Scalar >::_config
protected

The output configuration.

template<class Scalar>
std::vector< CombineSink<Scalar> *> sdr::Combine< Scalar >::_sinks
protected

The combine sinks.


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