std::ranges::greater
Определено в заголовке <functional> | ||
|---|---|---|
struct greater; | (с C++20) |
Функциональный объект для выполнения сравнений. Вычисляет типы параметров оператора вызова функции по аргументам (но не тип возвращаемого значения).
Вложенные типы
| Вложенный тип | Определение |
|---|---|
is_transparent | неопределён |
Члены-функции
| operator() | проверяет, является ли первый аргумент больше второго (публичный член-функция) |
std::ranges::greater::operator()
template< class T, class U > constexpr bool operator()( T&& t, U&& u ) const; |
Эквивалентно return ranges::less{}(std::forward<U>(u), std::forward<T>(t));.
Этот перегруз участвует в разрешении перегрузки только если std::totally_ordered_with<T, U> удовлетворено.
Примечания
В отличие от std::greater, std::ranges::greater требует, чтобы все шесть операторов сравнения <, <=, >, >=, == и != были допустимыми (через ограничение totally_ordered_with) и полностью определена в терминах std::ranges::less.
Пример
Отчеты об ошибках
Следующие отчеты об ошибках, изменяющих поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение, как опубликовано | Правильное поведение |
|---|---|---|---|
| LWG 3530 | C++20 | синтаксические проверки были ослаблены при сравнении указателей | ослаблены только семантические требования |
См. также
функциональный объект, реализующий x > y (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/ranges/greater