by Angel Leon. March 17, 2015;
Last update on December 14, 2023
Updated on February 27, 2023
Updated August 29, 2019.
#include <cassert> | |
#include <variant> | |
#include <optional> | |
#include <string> | |
template <typename Child, typename Initial, typename Accepting, typename... Rest> | |
struct StateMachine { | |
using StateVariant = std::variant<Initial, Accepting, Rest...>; | |
template <typename Events> |