close
Пространства имён
Варианты
Действия

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

Материал из cppreference.com
<tbody> </tbody>
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)
лексикографически сравнивает значения в паре
(шаблон функции) [править]
(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(C++20)
лексикографически сравнивает значения в кортеже
(шаблон функции) [править]
(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(C++20)
лексикографически сравнивает значения в array
(шаблон функции) [править]
(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(C++20)
лексикографически сравнивает значения в deque
(шаблон функции) [править]
(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в 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
(шаблон функции) [править]