synth-three-way, synth-three-way-result
Материал из cppreference.com
< cpp | standard library
constexprauto synth-three-way =/* смотрите ниже */; | (1) | (начиная с C++20) (только для пояснения*) |
template<class T, class U = T > using synth-three-way-result = | (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 (шаблон функции) |