PureFSM
fsm.hpp File Reference
#include <cstddef>
#include "../../lib/type_pack/include/type_pack.hpp"
#include <type_traits>
#include <utility>
#include <variant>
+ Include dependency graph for fsm.hpp:

Go to the source code of this file.

Data Structures

struct  pure::none
 Struct that defines empty type. More...
 
struct  pure::transition< Source, Event, Target, Action, Guard >
 Represents a transition between two states. More...
 
struct  pure::transition_table< Ts >
 Determines the behaviour of an FSM. More...
 
struct  pure::empty_logger
 Empty State Machine Logger. More...
 
struct  pure::state_machine< Table, Logger >
 State Machine. More...
 
struct  pure::guard_any_of< Guard, Guards >
 Guard OR operation. More...
 
struct  pure::guard_none_of< Guard, Guards >
 Guard negation. More...
 

Namespaces

 pure
 PureFSM library namespace.
 

Typedefs

template<class Source , class Event , class Target , class Action , class Guard >
using pure::tr = transition< Source, Event, Target, Action, Guard >
 Typedef to transition.
 
template<class Guard >
using pure::not_ = guard_none_of< Guard >
 Typedef to guard_none_of.
 
template<class... Guards>
using pure::any_of = guard_any_of< Guards... >
 Typedef to guard_any_of.
 
template<class... Guards>
using pure::none_of = guard_none_of< Guards... >
 Typedef to guard_none_of.
 

Detailed Description

File that contains a Finite State Machine.