#pragma once #include #include #include namespace bolt { class Session; class State { public: using uptr = std::unique_ptr; State() = default; virtual ~State() = default; virtual State* run(Session& session) = 0; }; }