#pragma once #include #include class Token { public: explicit Token(const std::string &iTokenText, const std::chrono::seconds &iLifetime); std::string text() const; void setText(const std::string &iTokenText); void setLifetime(const std::chrono::seconds &iLifetime); bool isExpired(); private: std::string _tokenText; std::chrono::seconds _expirationTime; }; namespace { auto currentTime = [] { return std::chrono::duration_cast( std::chrono::steady_clock::now().time_since_epoch()); }; } // namespace