// // ValidArgs.h // // Library: Foundation // Package: Cache // Module: ValidArgs // // Definition of the ValidArgs class. // // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // and Contributors. // // SPDX-License-Identifier: BSL-1.0 // #ifndef Foundation_ValidArgs_INCLUDED #define Foundation_ValidArgs_INCLUDED #include "Poco/Foundation.h" namespace Poco { template class ValidArgs { public: ValidArgs(const TKey& key): _key(key), _isValid(true) { } ValidArgs(const ValidArgs& args): _key(args._key), _isValid(args._isValid) { } ~ValidArgs() = default; ValidArgs &operator=(const ValidArgs& args) = delete; const TKey& key() const { return _key; } bool isValid() const { return _isValid; } void invalidate() { _isValid = false; } protected: const TKey& _key; bool _isValid; }; } // namespace Poco #endif // Foundation_ValidArgs_INCLUDED