diff options
Diffstat (limited to 'sources/shiboken6/tests/libsample')
| -rw-r--r-- | sources/shiboken6/tests/libsample/spaceship.cpp | 22 | ||||
| -rw-r--r-- | sources/shiboken6/tests/libsample/spaceship.h | 15 |
2 files changed, 37 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/libsample/spaceship.cpp b/sources/shiboken6/tests/libsample/spaceship.cpp index b30f2f30f..c883f7c2f 100644 --- a/sources/shiboken6/tests/libsample/spaceship.cpp +++ b/sources/shiboken6/tests/libsample/spaceship.cpp @@ -8,6 +8,13 @@ SpaceshipComparisonTester::SpaceshipComparisonTester(int v) noexcept { } +#if __cplusplus >= 202002 || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002) +std::strong_ordering SpaceshipComparisonTester::operator<=>(int rhs) const +{ + return m_value <=> rhs; +} +#endif // C++ 20 + FreeSpaceshipComparisonTester::FreeSpaceshipComparisonTester(int v) noexcept : m_value(v) { @@ -25,3 +32,18 @@ std::strong_ordering operator<=>(FreeSpaceshipComparisonTester lhs, return lhs.value() <=> rhs.value(); } #endif // C++ 20 + +NonEqualityComparisonTester::NonEqualityComparisonTester(int v) noexcept + : m_value(v) +{ +} + +int NonEqualityComparisonTester::value() const +{ + return m_value; +} + +bool NonEqualityComparisonTester::operator==(NonEqualityComparisonTester rhs) const +{ + return m_value == rhs.m_value; +} diff --git a/sources/shiboken6/tests/libsample/spaceship.h b/sources/shiboken6/tests/libsample/spaceship.h index 0d0854fe6..26f636009 100644 --- a/sources/shiboken6/tests/libsample/spaceship.h +++ b/sources/shiboken6/tests/libsample/spaceship.h @@ -17,6 +17,7 @@ public: #if __cplusplus >= 202002 || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002) auto operator<=>(const SpaceshipComparisonTester &rhs) const = default; + std::strong_ordering operator<=>(int rhs) const; enum Enabled { HasSpaceshipOperator = 1 }; #else @@ -44,4 +45,18 @@ LIBSAMPLE_API std::strong_ordering operator<=>(FreeSpaceshipComparisonTester lhs FreeSpaceshipComparisonTester rhs); #endif // C++ 20 + +class LIBSAMPLE_API NonEqualityComparisonTester +{ +public: + explicit NonEqualityComparisonTester(int v) noexcept; + + int value() const; + + bool operator==(NonEqualityComparisonTester rhs) const; + +private: + int m_value; +}; + #endif // SPACESHIP_H |
