State Machine Design Pattern.
More...
#include <state_machine.hpp>
|
| void | addState (const TState &state) |
| |
| void | addTransition (const TState &startState, const TState &finalState, const std::function< void()> &lambda) |
| |
| void | addAction (const TState &state, const std::function< void()> &lambda) |
| |
| void | transitionTo (const TState &state) |
| |
| void | update () |
| |
template<typename TState>
class StateMachine< TState >
State Machine Design Pattern.
- Template Parameters
-
| TState | Type representing the states (e.g., enum, string, int) |
enum class States
{
Idle,
Running,
Paused
};
std::cout << "Transitioning from Idle to Running" << std::endl;
});
std::cout << "Currently Running" << std::endl;
});
State Machine Design Pattern.
void transitionTo(const TState &state)
void addTransition(const TState &startState, const TState &finalState, const std::function< void()> &lambda)
void addState(const TState &state)
void addAction(const TState &state, const std::function< void()> &lambda)
- Warning
- The first state added becomes the initial state.
Definition at line 47 of file state_machine.hpp.
◆ addAction()
template<typename TState >
| void StateMachine< TState >::addAction |
( |
const TState & |
state, |
|
|
const std::function< void()> & |
lambda |
|
) |
| |
|
inline |
◆ addState()
template<typename TState >
| void StateMachine< TState >::addState |
( |
const TState & |
state | ) |
|
|
inline |
◆ addTransition()
template<typename TState >
| void StateMachine< TState >::addTransition |
( |
const TState & |
startState, |
|
|
const TState & |
finalState, |
|
|
const std::function< void()> & |
lambda |
|
) |
| |
|
inline |
◆ transitionTo()
template<typename TState >
| void StateMachine< TState >::transitionTo |
( |
const TState & |
state | ) |
|
|
inline |
◆ update()
template<typename TState >