turings-tarpit/fsm.hpp
2024-09-10 00:32:15 -04:00

16 lines
249 B
C++

#pragma once
template<typename S, typename E>
class DeadSimpleFSM {
protected:
S _state = S::START;
public:
virtual void event(E event) = 0;
void state(S next_state) {
_state = next_state;
}
};
#define FSM_T(S, F) case S: F(); break