Lodestar
An integrated real-time control package in C++
ls::blocks::std::SumBlock< TType, N > Class Template Reference
Inheritance diagram for ls::blocks::std::SumBlock< TType, N >:
[legend]
Collaboration diagram for ls::blocks::std::SumBlock< TType, N >:
[legend]

Public Types

using Base = Block< typename ls::aux::TemplateTools::repeat< TType, N, ::std::tuple >::type, ::std::tuple< TType >, ::std::tuple<::std::array< SumBlockOperator, N >, TType > >
 
using Ops = SumBlockOperator
 
- Public Types inherited from ls::blocks::BlockBase< Block< ls::aux::TemplateTools::repeat< TType, N, ::std::tuple >::type, ::std::tuple< TType >, ::std::tuple<::std::array< SumBlockOperator, N >, TType > > >
using empty = std::tuple<>
 
- Public Types inherited from ls::blocks::BlockProto
using empty = std::tuple<>
 

Public Member Functions

template<typename... TOperators>
 SumBlock (Ops op, TOperators... ops)
 
template<int TIdx = 0, typename... TOperators, typename ::std::enable_if< TIdx< N, bool >::type *=nullptr > void setOperators(Ops op, TOperators... ops) { static_assert(ls::aux::TemplateTraits::allSame< SumBlockOperator, TOperators... >::value, "Operators must all be SumBlockOperator values.");(this->template p< 0 >())[TIdx]=op;return setOperators< TIdx+1 >(ops...);} template< int TIdx=0, typename... TOperators, typename ::std::enable_if< TIdx >=N, bool >::type * = nullptr>
void setOperators (Ops op, TOperators... ops)
 
template<int TIdx = 0, typename ::std::enable_if< TIdx< N, bool >::type *=nullptr > void setOperators(Ops op) {(this->template p< 0 >())[TIdx]=op;} template< int TIdx=0, typename ::std::enable_if< TIdx >=N, bool >::type * = nullptr>
void setOperators (Ops op)
 
template<int TIdx = 0, typename ::std::enable_if<((TIdx==0) &&(TIdx !=N))>::type * = nullptr>
void getOperators (::std::vector< SumBlockOperator > &v)
 
template<int TIdx = 0, typename ::std::enable_if<((TIdx > 0) &&(TIdx< N))>::type * = nullptr>
void getOperators (::std::vector< SumBlockOperator > &v)
 
template<int TIdx = 0, typename ::std::enable_if<((TIdx< 0)||(TIdx >=N))>::type * = nullptr>
void getOperators (::std::vector< SumBlockOperator > &v)
 
TType & zero ()
 
const ::std::array< GiNaC::ex, Base::kIns > & inputSymbols ()
 
const ::std::array< GiNaC::ex, Base::kOuts > & outputSymbols ()
 
const ::std::array< GiNaC::ex, 1 > & parameterSymbols ()
 
- Public Member Functions inherited from ls::blocks::BlockBase< Block< ls::aux::TemplateTools::repeat< TType, N, ::std::tuple >::type, ::std::tuple< TType >, ::std::tuple<::std::array< SumBlockOperator, N >, TType > > >
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)
 

Static Public Attributes

static constexpr const SumBlockOperator Plus = SumBlockOperator::Plus
 
static constexpr const SumBlockOperator Minus = SumBlockOperator::Minus
 
- Static Public Attributes inherited from ls::blocks::BlockProto
static int objects_created = 0
 
static int objects_alive = 0
 

Protected Member Functions

void bindEquation ()
 
void triggerFunction (Base &b)
 
template<unsigned int TIdx = Base::kIns - 1>
typename ::std::enable_if<(TIdx > 0), void >::type sum (TType &res)
 
template<unsigned int TIdx = Base::kIns - 1>
typename ::std::enable_if<(TIdx==0), void >::type sum (TType &res)
 
template<unsigned int TIdx = Base::kIns - 1>
typename ::std::enable_if<(TIdx< 0), void >::type sum (TType &res)
 

Protected Attributes

::std::array< GiNaC::ex, 1 > parameterSymbols_
 
- Protected Attributes inherited from ls::blocks::BlockProto
int prio_ = -1
 

Additional Inherited Members

- 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
 

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