$darkmode
state_machine.hpp File Reference
#include <cstdint>
#include <initializer_list>
#include <map>
#include <memory>
#include <mutex>
#include <utility>
#include <boost/optional.hpp>
#include <cloe/core.hpp>
#include <cloe/utility/statistics.hpp>
#include <cloe/utility/timer.hpp>
Include dependency graph for state_machine.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  engine::State< MachineType, ContextType >
 
class  engine::StateMachine< StateType, ContextType >
 

Macros

#define DEFINE_STATE_STRUCT(MachineType, ContextType, Id, StructName)
 

Typedefs

using engine::StateId = const char *
 

Macro Definition Documentation

◆ DEFINE_STATE_STRUCT

#define DEFINE_STATE_STRUCT (   MachineType,
  ContextType,
  Id,
  StructName 
)
Value:
static constexpr StateId Id = #Id; \
struct StructName : public State<MachineType, ContextType> { \
using State<MachineType, ContextType>::State; \
StateId id() const override { return Id; } \
StateId impl(ContextType& ctx) override; \
}