synth-three-way, synth-three-way-result
С сайта ru.cppreference.net
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
ов
(шаблон функции) |