#pragma once #include "DI/factory.hpp" #include #include // NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) class IGenerationTracker { public: virtual ~IGenerationTracker() noexcept = default; [[nodiscard]] virtual auto get_current_generation() const noexcept -> uint32_t = 0; [[nodiscard]] virtual auto get_is_paused() const noexcept -> bool = 0; virtual void set_is_paused(bool is_paused) noexcept = 0; }; using IGenerationTrackerFactory = Factory(bool is_paused)>;