diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/poco/Foundation/include/Poco/Void.h | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/Void.h')
-rw-r--r-- | contrib/libs/poco/Foundation/include/Poco/Void.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/Void.h b/contrib/libs/poco/Foundation/include/Poco/Void.h new file mode 100644 index 0000000000..fa0cd31afd --- /dev/null +++ b/contrib/libs/poco/Foundation/include/Poco/Void.h @@ -0,0 +1,73 @@ +// +// Void.h +// +// Library: Foundation +// Package: Core +// Module: Void +// +// Definition of the Void class. +// +// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_Void_INCLUDED +#define Foundation_Void_INCLUDED + + +#include "Poco/Foundation.h" + + +namespace Poco { + + +class Foundation_API Void + /// A dummy class with value-type semantics, + /// mostly useful as a template argument. + /// + /// This class is typically used together with ActiveMethod, + /// if no argument or return value is needed. +{ +public: + Void(); + /// Creates the Void. + + Void(const Void& v); + /// Creates the Void from another Void. + /// + /// The philosophical aspects of this operation + /// remain undiscussed for now. + + ~Void(); + /// Destroys the Void. + + Void& operator = (const Void& v); + /// Assigns another void. + + bool operator ==(const Void& v) const; + /// Will return always true due to Voids having no members. + + bool operator !=(const Void& v) const; + /// Will return always false due to Voids having no members. +}; + + +inline bool Void::operator ==(const Void& /*v*/) const +{ + return true; +} + + +inline bool Void::operator !=(const Void& /*v*/) const +{ + return false; +} + + +} // namespace Poco + + +#endif // Foundation_Void_INCLUDED |