Namespaces
Variants

synth-three-way, synth-three-way-result

С сайта ru.cppreference.net
 
 
Стандартная библиотека
Объект точки настройки (C++20)
Сущности только для пояснения
(C++11)
 
constexpr auto synth-three-way = /* see below */;
(1) (начиная с C++20)
(только для пояснения*)
template< class T, class U = T >
using synth-three-way-result =
    decltype(synth-three-way(std::declval<T&>(), std::declval<U&>()));
(2) (начиная с C++20)
(только для пояснения*)
1) Функциональный объект, чей operator() ведёт себя как синтезированная функция трёхстороннего сравнения. Эквивалентно:
constexpr auto synth-three-way =
    []<class T, class U>(const T& t, const U& u)
        requires requires
        {
            { t < u } -> boolean-testable;
            { u < t } -> boolean-testable;
        }
    {
        if constexpr (std::three_way_comparable_with<T, U>)
            return t <=> u;
        else
        {
            if (t < u)
                return std::weak_ordering::less;
            if (u < t)
                return std::weak_ordering::greater;
            return std::weak_ordering::equivalent;
        }
    };
2) Тип возвращаемого значения operator() объекта (1) (synth-three-way).

Параметры

t, u - сравниваемые значения

Возвращаемое значение

Результат сравнения.

Смотрите также

(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения в pair
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения в кортеже
(шаблон функции)
(C++11) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух array s
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух deque
(шаблон функции)
(C++11) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++11) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух forward_list ов
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух list ов
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух vector ов
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух map
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух multimap контейнеров
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух set ов
(шаблон функции)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения двух multiset ов
(шаблон функции)