diff options
Diffstat (limited to 'sources/shiboken6/tests/libsample/oddbool.h')
-rw-r--r-- | sources/shiboken6/tests/libsample/oddbool.h | 62 |
1 files changed, 30 insertions, 32 deletions
diff --git a/sources/shiboken6/tests/libsample/oddbool.h b/sources/shiboken6/tests/libsample/oddbool.h index f7d77c0b3..dd2d32604 100644 --- a/sources/shiboken6/tests/libsample/oddbool.h +++ b/sources/shiboken6/tests/libsample/oddbool.h @@ -1,30 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of Qt for Python. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef ODDBOOL_H #define ODDBOOL_H @@ -33,11 +8,15 @@ #include <type_traits> +#if __cplusplus >= 202002 || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002) +# include <compare> +#endif + class OddBool { public: - inline explicit OddBool(bool b) : m_value(b) {} + inline explicit OddBool(bool b) noexcept : m_value(b) {} bool value() const { return m_value; } inline OddBool operator!() const { return OddBool(!m_value); } @@ -56,9 +35,11 @@ inline bool operator!=(OddBool b1, OddBool b2) { return (!b1).value() != (!b2).v class OddBoolUser { public: - OddBoolUser() : m_oddbool(OddBool(false)) {} - OddBoolUser(const OddBool& oddBool) : m_oddbool(oddBool) {} - virtual ~OddBoolUser() {} + LIBMINIMAL_DEFAULT_COPY_MOVE(OddBoolUser) + + OddBoolUser() noexcept : m_oddbool(OddBool(false)) {} + OddBoolUser(const OddBool &oddBool) : m_oddbool(oddBool) {} + virtual ~OddBoolUser() = default; inline OddBool oddBool() { return m_oddbool; } inline void setOddBool(OddBool oddBool) { m_oddbool = oddBool; } @@ -73,7 +54,7 @@ public: return invertedOddBool(); } - static inline OddBool getOddBool(const OddBoolUser& oddBoolUser) + static inline OddBool getOddBool(const OddBoolUser &oddBoolUser) { return oddBoolUser.m_oddbool; } @@ -105,4 +86,21 @@ inline std::enable_if<std::is_assignable<ComparisonTester, int>::value, bool>::t operator!=(const ComparisonTester &c1, const ComparisonTester &c2) { return c1.compare(c2) != 0; } +class LIBSAMPLE_API SpaceshipComparisonTester +{ +public: + explicit SpaceshipComparisonTester(int v); + +#if __cplusplus >= 202002 || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002) + auto operator<=>(const SpaceshipComparisonTester &rhs) const = default; + + enum Enabled { HasSpaceshipOperator = 1 }; +#else + enum Enabled { HasSpaceshipOperator = 0 }; +#endif // C++ 20 + +private: + int m_value; +}; + #endif // ODDBOOL_H |