Or just use the two libraries boost provides for the purpose https://www.boost.org/doc/libs/?view=category_state
Or just use the two libraries boost provides for the purpose https://www.boost.org/doc/libs/?view=category_state