40  template <
typename TOrthogonal, 
typename TBehavior, 
typename... Args>
 
   41  std::shared_ptr<TBehavior> 
configure(Args &&... args);
 
   43  template <
typename SmaccComponentType>
 
   46  template <
typename SmaccClientType>
 
   57    typename TStateReactor, 
typename TTriggerEvent, 
typename TEventList, 
typename... TEvArgs>
 
   60  template <
typename TStateReactor, 
typename... TEvArgs>
 
   63  template <
typename TEventGenerator, 
typename... TEvArgs>
 
   66  template <
typename EventType>
 
   69  template <
typename EventType>
 
   73  template <
typename TransitionType>
 
   78    std::shared_ptr<smacc2::introspection::TypeInfo> & transitionTypeInfo);
 
   87  template <
typename TOrthogonal>
 
   93  template <
typename TOrthogonal, 
typename TClientBehavior>
 
   96  template <
typename TEventGenerator>
 
   99  template <
typename TStateReactor>
 
std::shared_ptr< rclcpp::Logger > logger_
 
rclcpp::Logger getLogger()
 
TClientBehavior * getClientBehavior(int index=0)
 
std::shared_ptr< TEventGenerator > createEventGenerator(TEvArgs... args)
 
ISmaccState * getParentState()
 
std::vector< std::shared_ptr< StateReactor > > stateReactors_
 
bool getGlobalSMData(std::string name, T &ret)
 
std::shared_ptr< TBehavior > configure(Args &&... args)
 
rclcpp::Node::SharedPtr node_
 
virtual std::string getClassName()
 
ISmaccState * parentState_
 
void requiresClient(SmaccClientType *&storage)
 
virtual std::string getName()=0
 
std::shared_ptr< TStateReactor > createStateReactor(TEvArgs... args)
 
std::vector< std::shared_ptr< StateReactor > > & getStateReactors()
 
TOrthogonal * getOrthogonal()
 
void requiresComponent(SmaccComponentType *&storage)
 
TStateReactor * getStateReactor()
 
std::vector< std::shared_ptr< SmaccEventGenerator > > & getEventGenerators()
 
virtual ISmaccStateMachine & getStateMachine()=0
 
std::vector< std::shared_ptr< smacc2::SmaccEventGenerator > > eventGenerators_
 
void setGlobalSMData(std::string name, T value)
 
const smacc2::introspection::SmaccStateInfo * stateInfo_
 
rclcpp::Node::SharedPtr & getNode()
 
TEventGenerator * getEventGenerator()
 
void notifyTransitionFromTransitionTypeInfo(std::shared_ptr< smacc2::introspection::TypeInfo > &transitionTypeInfo)