C++ Siberia 2021
Making state machines with templates and coroutines
Finite state machine, or simply state machine is a simple and very expressive way of describing logic.
Very often logic that needs to be coded is either already presented in state machine form, or asks to be coded in that form.
There are no standard means to represent state machines in C++, so (in addition to many existing ways) we will discuss how to implement it in modern C++ in two more ways:
- with help of template magic,
- and using coroutines.
Along the way we’ll examine several techniques that may be helpful in different situations not connected to state machines.
Video: https://www.youtube.com/
Slides: