|
|
|
|
@ -0,0 +1,681 @@
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
//
|
|
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
|
//
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
|
|
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
|
|
|
|
|
|
|
|
|
// template<class T>
|
|
|
|
|
// concept totally_ordered_with;
|
|
|
|
|
|
|
|
|
|
#include <concepts>
|
|
|
|
|
|
|
|
|
|
#include <array>
|
|
|
|
|
#include <deque>
|
|
|
|
|
#include <forward_list>
|
|
|
|
|
#include <list>
|
|
|
|
|
#include <map>
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <optional>
|
|
|
|
|
#include <set>
|
|
|
|
|
#include <unordered_map>
|
|
|
|
|
#include <unordered_set>
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
#include "compare_types.h"
|
|
|
|
|
#include "test_macros.h"
|
|
|
|
|
|
|
|
|
|
template <class T, class U>
|
|
|
|
|
constexpr bool check_totally_ordered_with() noexcept {
|
|
|
|
|
constexpr bool result = std::totally_ordered_with<T, U>;
|
|
|
|
|
static_assert(std::totally_ordered_with<U, T> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T, U const> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const, U const> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T, U const&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const, U const&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T&, U const> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const&, U const> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T&, U const&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const&, U const&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T, U const&&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const, U const&&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T&, U const&&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const&, U const&&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T&&, U const> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const&&, U const> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T&&, U const&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const&&, U const&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T&&, U const&&> == result);
|
|
|
|
|
static_assert(std::totally_ordered_with<T const&&, U const&&> == result);
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace fundamentals {
|
|
|
|
|
static_assert(check_totally_ordered_with<int, int>());
|
|
|
|
|
static_assert(check_totally_ordered_with<int, bool>());
|
|
|
|
|
static_assert(check_totally_ordered_with<int, char>());
|
|
|
|
|
static_assert(check_totally_ordered_with<int, wchar_t>());
|
|
|
|
|
static_assert(check_totally_ordered_with<int, double>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int*>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int[5]>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (&)()>());
|
|
|
|
|
|
|
|
|
|
struct S {};
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int S::*>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<int*, int*>());
|
|
|
|
|
static_assert(check_totally_ordered_with<int*, int[5]>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (&)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int*, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int*, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int*, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int*, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int*, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<int[5], int[5]>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (&)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int[5], int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int[5], int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int[5], int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int[5], int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int[5], int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int[5], int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<int (*)(), int (*)()>());
|
|
|
|
|
static_assert(check_totally_ordered_with<int (*)(), int (&)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (*)(), int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (*)(), int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (*)(), int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<int (&)(), int (&)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (&)(), int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (&)(), int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (&)(), int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)(), int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)(), int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)(), int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() noexcept, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() const, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() const, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() volatile, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() volatile, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(
|
|
|
|
|
!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(
|
|
|
|
|
!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept,
|
|
|
|
|
int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() &, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() & noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() const&, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const & noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile & noexcept, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile & noexcept, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile & noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile & noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile & noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile & noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile & noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept,
|
|
|
|
|
int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile&, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile&, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile&, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile&, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile&, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile&, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(
|
|
|
|
|
!check_totally_ordered_with<int (S::*)() const volatile & noexcept, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() const volatile & noexcept, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with< int (S::*)() const volatile & noexcept, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile & noexcept, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept,
|
|
|
|
|
int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile & noexcept, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept,
|
|
|
|
|
int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &&, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &&, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &&, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() &&, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const&& > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() volatile&& > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const volatile&& > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&&, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&&, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&&, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&&, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const&&, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&&, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() volatile&& > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() const volatile&& > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&&, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile&&, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() volatile&&, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile&&, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile && noexcept, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile && noexcept, int (S::*)() const volatile&& > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() volatile && noexcept,
|
|
|
|
|
int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<int (S::*)() const volatile&&, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile&&, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with < int(S::*)() const volatile&& noexcept,
|
|
|
|
|
int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
#if !defined(TEST_COMPILER_GCC)
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int>());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int*>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int[]>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int[5]>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (&)()>());
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)()>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const volatile>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< std::nullptr_t, int (S::*)() const volatile noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() &>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const volatile&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with< std::nullptr_t, int (S::*)() const volatile & noexcept>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() &&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() && noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() const&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() volatile&& noexcept > ());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::nullptr_t, int (S::*)() const volatile&&>());
|
|
|
|
|
static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() const volatile&& noexcept > ());
|
|
|
|
|
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int*>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, std::nullptr_t>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int[5]>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (*)()>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (&)()>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int S::*>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)()>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() volatile>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() volatile noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const volatile>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const volatile noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() &>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() & noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const&>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const & noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() volatile&>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() volatile & noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const volatile&>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const volatile & noexcept>);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() &&>);
|
|
|
|
|
static_assert(!std::equality_comparable_with < void, int (S::*)() && noexcept >);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const&&>);
|
|
|
|
|
static_assert(!std::equality_comparable_with < void, int (S::*)() const&& noexcept >);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() volatile&&>);
|
|
|
|
|
static_assert(!std::equality_comparable_with < void, int (S::*)() volatile&& noexcept >);
|
|
|
|
|
static_assert(!std::equality_comparable_with<void, int (S::*)() const volatile&&>);
|
|
|
|
|
static_assert(!std::equality_comparable_with < void, int (S::*)() const volatile&& noexcept >);
|
|
|
|
|
} // namespace fundamentals
|
|
|
|
|
|
|
|
|
|
namespace standard_types {
|
|
|
|
|
static_assert(check_totally_ordered_with<std::array<int, 10>, std::array<int, 10> >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::array<int, 10>, std::array<double, 10> >());
|
|
|
|
|
static_assert(check_totally_ordered_with<std::deque<int>, std::deque<int> >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::deque<int>, std::vector<int> >());
|
|
|
|
|
static_assert(check_totally_ordered_with<std::forward_list<int>, std::forward_list<int> >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::forward_list<int>, std::vector<int> >());
|
|
|
|
|
static_assert(check_totally_ordered_with<std::list<int>, std::list<int> >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::list<int>, std::vector<int> >());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<std::map<int, void*>, std::map<int, void*> >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::map<int, void*>, std::vector<int> >());
|
|
|
|
|
static_assert(check_totally_ordered_with<std::optional<std::vector<int> >, std::optional<std::vector<int> > >());
|
|
|
|
|
static_assert(check_totally_ordered_with<std::optional<std::vector<int> >, std::vector<int> >());
|
|
|
|
|
static_assert(check_totally_ordered_with<std::vector<int>, std::vector<int> >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::vector<int>, int>());
|
|
|
|
|
|
|
|
|
|
struct A {};
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::optional<std::vector<A> >, std::optional<std::vector<A> > >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::optional<std::vector<A> >, std::vector<A> >());
|
|
|
|
|
struct B {};
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::vector<A>, std::vector<B> >());
|
|
|
|
|
static_assert(!check_totally_ordered_with<std::optional<A>, std::optional<B> >());
|
|
|
|
|
} // namespace standard_types
|
|
|
|
|
|
|
|
|
|
namespace types_fit_for_purpose {
|
|
|
|
|
static_assert(!check_totally_ordered_with<cxx20_member_eq, cxx20_member_eq>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<cxx20_friend_eq, cxx20_friend_eq>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<cxx20_member_eq, cxx20_friend_eq>());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<member_three_way_comparable, member_three_way_comparable>());
|
|
|
|
|
static_assert(check_totally_ordered_with<friend_three_way_comparable, friend_three_way_comparable>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<member_three_way_comparable, friend_three_way_comparable>());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<explicit_operators, explicit_operators>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<equality_comparable_with_ec1, equality_comparable_with_ec1>());
|
|
|
|
|
static_assert(check_totally_ordered_with<different_return_types, different_return_types>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<explicit_operators, equality_comparable_with_ec1>());
|
|
|
|
|
static_assert(check_totally_ordered_with<explicit_operators, different_return_types>());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<one_way_eq, one_way_eq>());
|
|
|
|
|
static_assert(std::common_reference_with<one_way_eq const&, explicit_operators const&> &&
|
|
|
|
|
!check_totally_ordered_with<one_way_eq, explicit_operators>());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<one_way_ne, one_way_ne>());
|
|
|
|
|
static_assert(std::common_reference_with<one_way_ne const&, explicit_operators const&> &&
|
|
|
|
|
!check_totally_ordered_with<one_way_ne, explicit_operators>());
|
|
|
|
|
|
|
|
|
|
static_assert(check_totally_ordered_with<totally_ordered_with_others, partial_ordering_totally_ordered_with>());
|
|
|
|
|
static_assert(check_totally_ordered_with<totally_ordered_with_others, weak_ordering_totally_ordered_with>());
|
|
|
|
|
static_assert(check_totally_ordered_with<totally_ordered_with_others, strong_ordering_totally_ordered_with>());
|
|
|
|
|
|
|
|
|
|
static_assert(!check_totally_ordered_with<totally_ordered_with_others, eq_returns_explicit_bool>());
|
|
|
|
|
static_assert(!check_totally_ordered_with<totally_ordered_with_others, ne_returns_explicit_bool>());
|
|
|
|
|
static_assert(std::equality_comparable_with<totally_ordered_with_others, lt_returns_explicit_bool> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, lt_returns_explicit_bool>());
|
|
|
|
|
static_assert(std::equality_comparable_with<totally_ordered_with_others, gt_returns_explicit_bool> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, gt_returns_explicit_bool>());
|
|
|
|
|
static_assert(std::equality_comparable_with<totally_ordered_with_others, le_returns_explicit_bool> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, le_returns_explicit_bool>());
|
|
|
|
|
static_assert(std::equality_comparable_with<totally_ordered_with_others, ge_returns_explicit_bool> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, ge_returns_explicit_bool>());
|
|
|
|
|
static_assert(check_totally_ordered_with<totally_ordered_with_others, returns_true_type>());
|
|
|
|
|
static_assert(check_totally_ordered_with<totally_ordered_with_others, returns_int_ptr>());
|
|
|
|
|
|
|
|
|
|
static_assert(std::totally_ordered<no_lt_not_totally_ordered_with> &&
|
|
|
|
|
std::equality_comparable_with<totally_ordered_with_others, no_lt_not_totally_ordered_with> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, no_lt_not_totally_ordered_with>());
|
|
|
|
|
static_assert(std::totally_ordered<no_gt_not_totally_ordered_with> &&
|
|
|
|
|
std::equality_comparable_with<totally_ordered_with_others, no_gt_not_totally_ordered_with> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, no_gt_not_totally_ordered_with>());
|
|
|
|
|
static_assert(std::totally_ordered<no_le_not_totally_ordered_with> &&
|
|
|
|
|
std::equality_comparable_with<totally_ordered_with_others, no_le_not_totally_ordered_with> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, no_le_not_totally_ordered_with>());
|
|
|
|
|
static_assert(std::totally_ordered<no_ge_not_totally_ordered_with> &&
|
|
|
|
|
std::equality_comparable_with<totally_ordered_with_others, no_ge_not_totally_ordered_with> &&
|
|
|
|
|
!check_totally_ordered_with<totally_ordered_with_others, no_ge_not_totally_ordered_with>());
|
|
|
|
|
} // namespace types_fit_for_purpose
|