sdr::Combine< Scalar > Class Template Referenceabstract
Data handling nodes.

A combine node. More...

`#include <combine.hh>`

Inheritance diagram for sdr::Combine< 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:

- /Users/hannes/Uni/Elektronik/sdr/libsdr/src/combine.hh