#pragma once #include #include // NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) class IUserInputObserver { public: using Key = char; virtual ~IUserInputObserver() noexcept = default; virtual void listen() noexcept = 0; virtual bool is_key_pressed(Key key) noexcept = 0; virtual Key get_currently_pressed_key() const noexcept = 0; virtual void clear_currently_pressed() noexcept = 0; };