Lodestar
An integrated real-time control package in C++
ls::blocks::Block< TInputsList, TOutputsList, TParametersList > Class Template Reference

Generic base template class for all tuple-based Block instances. More...

#include <Block.hpp>

Inheritance diagram for ls::blocks::Block< TInputsList, TOutputsList, TParametersList >:
[legend]
Collaboration diagram for ls::blocks::Block< TInputsList, TOutputsList, TParametersList >:
[legend]

Additional Inherited Members

- Public Types inherited from ls::blocks::BlockBase< Block< TInputsList, TOutputsList, BlockProto::empty > >
using empty = std::tuple<>
 
- Public Types inherited from ls::blocks::BlockProto
using empty = std::tuple<>
 
- Public Member Functions inherited from ls::blocks::BlockBase< Block< TInputsList, TOutputsList, BlockProto::empty > >
void trigger () override
 Number of parameter slots. More...
 
- Public Member Functions inherited from ls::blocks::BlockProto
void setPriority (int prio)
 
int getPriority () const
 
const GiNaC::function blkf (const ::std::vector< GiNaC::ex > &exvec, bool appendId=true)
 
- Public Attributes inherited from ls::blocks::BlockProto
std::vector< SignalBase * > inputPointers {}
 Utility using declaration for empty slot bank.
 
std::vector< SignalBase * > outputPointers {}
 Vector of input signal pointers.
 
const unsigned int id
 Vector of output signal pointers.
 
unsigned int ins
 Unique Block ID.
 
unsigned int outs
 Number of input slots.
 
unsigned int pars
 Number of output slots.
 
unsigned serial
 
- Static Public Attributes inherited from ls::blocks::BlockProto
static int objects_created = 0
 
static int objects_alive = 0
 
- Protected Attributes inherited from ls::blocks::BlockProto
int prio_ = -1
 

Detailed Description

template<typename TInputsList, typename TOutputsList, typename TParametersList = BlockProto::empty>
class ls::blocks::Block< TInputsList, TOutputsList, TParametersList >

Generic base template class for all tuple-based Block instances.

Base class for all Block implementations.

For the partial specialization that defines that implementation, see Block implementation.

Template Parameters
TInputsListInputs list parameter.
TOutputsListInputs list parameter.
TParametersListInputs list parameter.
See also
Block implementation

All Block classes in Lodestar derive their core functionality from this class. A Block consists of three parameter packs each wrapped in a ::std::tuple; any of these parameter packs may be empty.

All TInputs and TOutputs are wrapped in the Signal class; TParameters are an exception to this, since parameters are intended for internal use only (preferably only at instantiation).

Template Parameters
TInputsTemplate pack of input types.
TOutputsTemplate pack of output types.
TParametersTemplate pack of parameter types.
See also
Signal

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