Lodestar
An integrated real-time control package in C++
ls::blocks::BlockTraits< TBlock > Class Template Reference

A traits object that exposes information about TBlock. More...

#include <BlockTraits.hpp>

Public Types

using type = TBlock
 Current class.
 
using Base = typename type::Base
 Base Block class.
 

Static Public Attributes

static constexpr const BlockType blockType = BlockType::UnknownBlock
 Block type.
 
static constexpr const bool directFeedthrough = false
 Whether or not the block has direct feedthrough.
 
static const constexpr int kIns = type::Base::kIns
 Number of input slots.
 
static const constexpr int kOuts = type::Base::kOuts
 Number of output slots.
 
static const constexpr int kPars = type::Base::kPars
 Number of parameters.
 
static const ::std::array<::std::string, kInsinTypes
 Input types (as strings).
 
static const ::std::array<::std::string, kOutsoutTypes
 Output types (as strings).
 
static const ::std::array<::std::string, kParsparTypes
 Parameter types (as strings).
 
static const ::std::array<::std::string, 1 > templateTypes
 Template parameter types (as strings).
 

Detailed Description

template<typename TBlock = void>
class ls::blocks::BlockTraits< TBlock >

A traits object that exposes information about TBlock.

All Blocks will have a partial specialization of this class that exposes the following:

  • Direct feedthrough
  • BlockType
  • Base type
  • Number of input slots
  • Number of output slots
  • Number of parameters
Note
Any custom block class must present a partial specialization to BlockTraits.
Template Parameters
TBlockBlock type.

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