Namespaces
Variants

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

From cppreference.net
constexpr auto synth - three - way = /* см. ниже */ ;
(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 ов
(шаблон функции)