Template Class SmaccState

Nested Relationships

Nested Types

Inheritance Relationships

Base Types

  • public boost::statechart::simple_state< MostDerived, Context, mpl::list<>, sc::has_deep_history >

  • public smacc2::ISmaccState (Class ISmaccState)

Class Documentation

template<class MostDerived, class Context, class InnerInitial = mpl::list<>, sc::history_mode historyMode = sc::has_deep_history>
class SmaccState : public boost::statechart::simple_state<MostDerived, Context, mpl::list<>, sc::has_deep_history>, public smacc2::ISmaccState

Public Types

typedef Context TContext
typedef Context::inner_context_type context_type
typedef context_type::state_iterator state_iterator
typedef InnerInitial LastDeepState
typedef base_type::outermost_context_base_type outermost_context_base_type
typedef base_type::inner_context_ptr_type inner_context_ptr_type
typedef base_type::context_ptr_type context_ptr_type
typedef base_type::inner_initial_list inner_initial_list

Public Functions

SmaccState() = delete
inline SmaccState(my_context ctx)
inline virtual ~SmaccState()
inline const smacc2::introspection::SmaccStateInfo *getStateInfo()
inline virtual std::string getName() override
inline std::string getFullName()
inline std::string getShortName()
inline virtual ISmaccState *getParentState()
inline void exit()
inline void runtimeConfigure()
inline void onEntry()
inline void onExit()
template<typename T>
inline bool getGlobalSMData(std::string name, T &ret)
template<typename T>
inline void setGlobalSMData(std::string name, T value)
template<typename SmaccComponentType>
inline void requiresComponent(SmaccComponentType *&storage)
inline virtual ISmaccStateMachine &getStateMachine()
inline void checkWhileLoopConditionAndThrowEvent(bool (MostDerived::* conditionFn)())
inline void throwSequenceFinishedEvent()

Public Members

bool finishStateThrown
InnerInitial *smacc_inner_type

Public Static Functions

template<typename TOrthogonal, typename TBehavior>
static inline void configure_orthogonal_runtime(std::function<void(TBehavior &bh, MostDerived&)> initializationFunction)
template<typename TOrthogonal, typename TBehavior>
static inline void configure_orthogonal_runtime(std::function<void(TBehavior &bh)> initializationFunction)
template<typename TOrthogonal, typename TBehavior, typename ...Args>
static inline void configure_orthogonal(Args&&... args)
template<typename TStateReactor, typename TOutputEvent, typename TInputEventList, typename ...TArgs>
static inline std::shared_ptr<smacc2::introspection::StateReactorHandler> static_createStateReactor(TArgs... args)
template<typename TEventGenerator, typename ...TUArgs>
static inline std::shared_ptr<smacc2::introspection::EventGeneratorHandler> static_createEventGenerator(TUArgs... args)
template<typename TStateReactor, typename ...TUArgs>
static inline std::shared_ptr<smacc2::introspection::StateReactorHandler> static_createStateReactor_aux(TUArgs... args)
static inline void initial_deep_construct(outermost_context_base_type &outermostContextBase)
static inline void deep_construct(const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
static inline inner_context_ptr_type shallow_construct(const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
struct my_context

Public Functions

inline my_context(typename base_type::context_ptr_type pContext)

Public Members

base_type::context_ptr_type pContext_