State machine source code, C++