Lodestar
An integrated real-time control package in C++
ls::blocks::BlockPack Struct Reference
Collaboration diagram for ls::blocks::BlockPack:
[legend]

Classes

struct  BlockTraits
 

Public Member Functions

template<typename... TTypes>
 BlockPack (TTypes &...blocks)
 
template<typename TType , typename... TTypes>
void append (TType &block, TTypes &...blocks)
 
template<typename TType >
void append (TType &block)
 
void append ()
 
void makeGraph ()
 
bool contains (BlockProto *blk) const
 
bool contains (unsigned int idx) const
 
bool hasDirectFeedthrough (BlockProto *blk) const
 
bool hasDirectFeedthrough (BlockProto &blk) const
 
bool isDriving (BlockProto *blk1, BlockProto *blk2) const
 
bool isDriving (BlockProto &blk1, BlockProto &blk2) const
 
::std::shared_ptr< BlockTraitsgetTraitsByPtr (const BlockProto *ptr) const
 
::std::shared_ptr< BlockTraitsgetTraitsById (unsigned int id) const
 
BlockProtogetBlockById (unsigned int id)
 
const BlockProtogetBlockById (unsigned int id) const
 
::std::shared_ptr<::std::vector< GiNaC::ex > > getInputSymbolsByPtr (const BlockProto *ptr) const
 
::std::shared_ptr<::std::vector< GiNaC::ex > > getOutputSymbolsByPtr (const BlockProto *ptr) const
 
::std::shared_ptr<::std::vector< GiNaC::ex > > getParameterSymbolsByPtr (const BlockProto *ptr) const
 
::std::shared_ptr<::std::vector< GiNaC::ex > > getInputSymbolsById (unsigned int id) const
 
::std::shared_ptr<::std::vector< GiNaC::ex > > getOutputSymbolsById (unsigned int id) const
 
::std::shared_ptr<::std::vector< GiNaC::ex > > getParameterSymbolsById (unsigned int id) const
 
::std::shared_ptr<::std::function< const GiNaC::function(const ::std::vector< GiNaC::ex > &exvec)> > getSymbolicFunctionByPtr (const BlockProto *ptr) const
 
::std::shared_ptr<::std::function< const GiNaC::function(const ::std::vector< GiNaC::ex > &exvec)> > getSymbolicFunctionById (unsigned int id) const
 

Public Attributes

::std::vector< BlockProto * > blocks
 
::std::vector<::std::shared_ptr< BlockTraits > > blockTraits
 
::std::unordered_map< const BlockProto *, ::std::shared_ptr< BlockTraits > > traitsByPtr
 
::std::unordered_map< unsigned int, BlockProto * > blockById
 
ls::blocks::aux::DirectedGraph graph
 
::std::vector<::std::shared_ptr<::std::vector< GiNaC::ex > > > inputSymbols
 
::std::vector<::std::shared_ptr<::std::vector< GiNaC::ex > > > outputSymbols
 
::std::vector<::std::shared_ptr<::std::vector< GiNaC::ex > > > parameterSymbols
 
::std::unordered_map< const BlockProto *, ::std::shared_ptr<::std::vector< GiNaC::ex > > > inputSymbolsByPtr
 
::std::unordered_map< const BlockProto *, ::std::shared_ptr<::std::vector< GiNaC::ex > > > outputSymbolsByPtr
 
::std::unordered_map< const BlockProto *, ::std::shared_ptr<::std::vector< GiNaC::ex > > > parameterSymbolsByPtr
 
::std::vector<::std::shared_ptr<::std::function< const GiNaC::function(const ::std::vector< GiNaC::ex > &exvec)> > > symbolicFunctions
 
::std::unordered_map< const BlockProto *, ::std::shared_ptr<::std::function< const GiNaC::function(const ::std::vector< GiNaC::ex > &exvec)> > > symbolicFunctionByPtr
 

The documentation for this struct was generated from the following files: