Zth (libzth)
fsm.h File Reference
#include <libzth/allocator.h>
#include <libzth/time.h>
#include <libzth/util.h>
#include <libzth/waiter.h>

Go to the source code of this file.

Classes

class  zth::FsmGuard< Fsm >
 A guard is evaluated, and when true, the corresponding transition is taken. More...
 
struct  zth::FsmDescription< Fsm >
 The description of a Fsm. More...
 
class  zth::FsmCompiler< Fsm >
 A compiler to turn an zth::FsmDescription into something that can be used by zth::Fsm. More...
 
class  zth::Fsm< State_, Input_, FsmImpl_ >
 A Finite-state machine. More...
 
class  zth::FsmCallback< State_, CallbackArg_, Input_, FsmImpl_ >
 
class  zth::FsmCallback< State_, void, Input_, FsmImpl_ >
 

Namespaces

 zth
 
 zth::guards
 

Macros

#define deprecated14(msg)   [[deprecated(msg)]]
 

Enumerations

enum  zth::guards::End { zth::guards::end = 0 }
 

Functions

template<typename Fsm >
TimeInterval zth::guards::always (Fsm &fsm)
 A guard that is always true. More...
 
template<typename FsmInput , typename FsmInput::Input i, typename Fsm >
TimeInterval zth::guards::input (Fsm &fsm)
 A guard that is true when the given input has been set. More...
 
template<typename FsmInput , typename FsmInput::Input i, typename Fsm >
TimeInterval zth::guards::peek (Fsm &fsm)
 A guard that is true when the given input has been set. More...
 
template<typename Fsm >
TimeInterval zth::guards::timeout_ (Fsm &fsm, TimeInterval const &timeout)
 
template<time_t s, typename Fsm >
TimeInterval zth::guards::timeout_s (Fsm &fsm)
 A guard that is true when the Fsm stayed for the given time in this state. More...
 
template<unsigned int ms, typename Fsm >
TimeInterval zth::guards::timeout_ms (Fsm &fsm)
 A guard that is true when the Fsm stayed for the given time in this state. More...
 
template<uint64_t us, typename Fsm >
TimeInterval zth::guards::timeout_us (Fsm &fsm)
 A guard that is true when the Fsm stayed for the given time in this state. More...
 
template<typename Fsm >
TimeInterval zth::guards::lock (Fsm &fsm)
 A wrapper for zth::Fsm::guardLock(). More...
 
template<typename Fsm >
TimeInterval zth::guards::step (Fsm &fsm)
 A wrapper for zth::Fsm::guardStep(). More...
 

Macro Definition Documentation

◆ deprecated14

#define deprecated14 (   msg)    [[deprecated(msg)]]

Definition at line 31 of file fsm.h.