Zth (libzth)
|
#include <libzth/macros.h>
#include <libzth/allocator.h>
#include <libzth/sync.h>
#include <libzth/util.h>
#include <atomic>
#include <bitset>
#include <functional>
#include <limits>
#include <stdexcept>
#include <type_traits>
#include <utility>
Go to the source code of this file.
Classes | |
struct | zth::fsm::invalid_fsm |
Exception thrown when the FSM description is incorrect. More... | |
class | zth::fsm::Symbol |
A input/state symbol. More... | |
class | zth::fsm::Named< enable > |
class | zth::fsm::Named< false > |
class | zth::fsm::Named< true > |
class | zth::fsm::Callback< T, R, haveArg, isMember, isOk > |
class | zth::fsm::Callback< T, R, false, false, true > |
class | zth::fsm::Callback< T, R, true, false, true > |
class | zth::fsm::Callback< T, R, false, true, true > |
class | zth::fsm::GuardPollInterval |
class | zth::fsm::Guard |
class | zth::fsm::TypedGuard< T > |
class | zth::fsm::InputGuard |
class | zth::fsm::Action |
class | zth::fsm::TypedAction< T > |
class | zth::fsm::GuardedActionBase |
class | zth::fsm::GuardedAction |
class | zth::fsm::TransitionStart |
class | zth::fsm::Transition |
class | zth::fsm::TransitionsBase |
class | zth::fsm::Transitions< Size > |
struct | zth::fsm::Transitions< Size >::CompiledTransition |
class | zth::fsm::BasicFsm |
Basic FSM base class. More... | |
class | zth::fsm::Fsm |
FSM base class. More... | |
Namespaces | |
zth | |
zth::fsm | |
Typedefs | |
using | zth::fsm::State = Symbol |
A state within the FSM. More... | |
Functions | |
constexpr Symbol | zth::fsm::operator""_S (char const *s, size_t len) noexcept |
Literal suffix to convert a string literal to zth::fsm::Symbol. More... | |
template<typename T > | |
constexpr auto | zth::fsm::guard (T &&g, char const *name=nullptr) |
Create a guard from a function. More... | |
constexpr auto | zth::fsm::guard (Symbol &&input) noexcept |
Create a guard from a input symbol. More... | |
bool | zth::fsm::always_guard () noexcept |
bool | zth::fsm::never_guard () noexcept |
template<typename T > | |
constexpr auto | zth::fsm::action (T &&a, char const *name=nullptr) |
Create an action from a function. More... | |
void | zth::fsm::nothing_action () |
constexpr auto | zth::fsm::operator/ (Guard const &g, Action const &a) noexcept |
constexpr auto | zth::fsm::operator+ (Symbol &&input) noexcept |
constexpr auto | zth::fsm::input (Symbol &&symbol) noexcept |
Create a guard from an input symbol. More... | |
constexpr auto | zth::fsm::operator+ (GuardedAction &&g) noexcept |
constexpr auto | zth::fsm::operator/ (GuardedAction &&ga, Action const &a) |
constexpr auto | zth::fsm::operator+ (State &&state, GuardedAction &&action) noexcept |
constexpr auto | zth::fsm::operator+ (State &&state, Guard const &guard) noexcept |
constexpr auto | zth::fsm::operator+ (State &&state, Symbol &&input) noexcept |
constexpr auto | zth::fsm::operator+ (char const *state, Symbol &&input) noexcept |
constexpr auto | zth::fsm::operator+ (State &&state, char const *input) noexcept |
constexpr auto const & | zth::fsm::operator+ (Guard const &guard) noexcept |
constexpr auto | zth::fsm::operator/ (State &&state, Action const &action) noexcept |
constexpr auto | zth::fsm::operator+ (State &&state, TransitionStart &&t) |
constexpr Transition | zth::fsm::operator>>= (TransitionStart &&from, State &&to) noexcept |
constexpr Transition | zth::fsm::operator>>= (State &&from, State &&to) noexcept |
constexpr Transition | zth::fsm::operator>>= (char const *from, State &&to) noexcept |
constexpr Transition | zth::fsm::operator>>= (Guard const &from, State &&to) noexcept |
constexpr Transition | zth::fsm::operator>>= (Action const &from, State &&to) noexcept |
constexpr Transition | zth::fsm::operator>>= (GuardedAction &&from, State &&to) noexcept |
template<typename... T> | |
constexpr auto | zth::fsm::compile (T &&... t) |
Compile a transition description. More... | |
Variables | |
constexpr auto | zth::fsm::always |
Trivial guard that is always enabled. More... | |
constexpr auto | zth::fsm::never |
Trivial guard that is never enabled. More... | |
constexpr auto | zth::fsm::nothing |
Trivial action that does nothing. More... | |
constexpr auto | zth::fsm::entry |
Guard that is only enabled upon entry of a state. More... | |
constexpr auto | zth::fsm::push |
Action to push the new state onto the stack. More... | |
constexpr auto | zth::fsm::pop |
Action to pop the current state from the stack. More... | |
constexpr auto | zth::fsm::popped |
Guard to indicate that the current state was reached via pop . More... | |
constexpr auto | zth::fsm::stop |
Action to return from Fsm::run(). More... | |
constexpr auto | zth::fsm::consume |
Action consume the current input symbol. More... | |
template<time_t s> | |
constexpr auto | zth::fsm::timeout_s |
A guard that is enabled after a s seconds after entering the current state. More... | |
template<uint64_t ms> | |
constexpr auto | zth::fsm::timeout_ms |
A guard that is enabled after a ms milliseconds after entering the current state. More... | |
template<uint64_t us> | |
constexpr auto | zth::fsm::timeout_us |
A guard that is enabled after a us microseconds after entering the current state. More... | |