A compact C++ finite state machine (FSM) implementation that's easy to use on embedded and PC-based systems by David Lafreniere.
For an extensive explanation about usage and options, please visit https://www.codeproject.com/Articles/1087619/State-Machine-Design-in-Cplusplus.
GRABLab does not own this source code whatsoever, which entirely belongs to David Lafreniere under CPOL licence.