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

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

Материал из cppreference.com
constexprauto 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() ведёт себя как синтезированная функция трёхстороннего сравнения. Эквивалентно:
constexprauto synth-three-way =[]<class T, class U>(const T& t, const U& u) requires requires {{ t < u }->boolean-testable;{ u < t }->boolean-testable;}{ifconstexpr(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
(шаблон функции)[править]
close