fsm
Public Member Functions | List of all members
escad::new_fsm::composite_state< Derived, NestedMachine, Context > Class Template Reference
Inheritance diagram for escad::new_fsm::composite_state< Derived, NestedMachine, Context >:
Inheritance graph
[legend]
Collaboration diagram for escad::new_fsm::composite_state< Derived, NestedMachine, Context >:
Collaboration graph
[legend]

Public Member Functions

 composite_state (Context &context, NestedMachine &&nested)
 
 nested_ (nested)
 
template<class Event >
bool dispatch (const Event &event)
 
template<class State >
auto nested_in () const
 
template<class State >
auto & nested_state ()
 
template<class State >
void nested_emplace ()
 
mpl::const_reference_t< NestedMachine > nested ()
 
- Public Member Functions inherited from escad::new_fsm::state< Derived, Context >
 state (Context &context)
 
template<class Target = Derived, class Event >
bool enter (const Event &event)
 Calls onEnter(const Event &event) of Derived if it exists. More...
 
template<class Target = Derived>
bool enter ()
 Calls onEnter() of Derived if it exists. More...
 
template<class Target = Derived>
bool exit ()
 
template<class Target = Derived, class Event >
auto transition (const Event &event) -> decltype(std::declval< Target >().transitionTo(event))
 Calls transitionTo(const Event &event) of Derived if it exists. More...
 
template<class Target = Derived>
auto transition (...) -> transitions< detail::none >
 For non-existing transitionTo() methods. More...
 
template<class Target = Derived>
auto transitionInternal () -> decltype(std::declval< Target >().transitionInternalTo())
 Calls transitionInternalTo() of Derived if it exists. More...
 
template<class Event >
bool dispatch (const Event &)
 
const Contextcontext ()
 

Additional Inherited Members

- Public Types inherited from escad::new_fsm::state< Derived, Context >
using ctx = Context
 
- Protected Attributes inherited from escad::new_fsm::state< Derived, Context >
Contextcontext_
 Reference to the Context.
 

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