Namespaces
Variants

std::ranges:: greater

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
Определено в заголовочном файле <functional>
struct greater ;
(начиная с C++20)

Функциональный объект для выполнения сравнений. Выводит типы параметров оператора вызова функции из аргументов (но не тип возвращаемого значения).

Содержание

Вложенные типы

Вложенный тип Определение
is_transparent unspecified

Функции-члены

operator()
проверяет, является ли первый аргумент больше второго
(public member function)

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 Applied to Behavior as published Correct behavior
LWG 3530 C++20 syntactic checks were relaxed while comparing pointers only semantic requirements are relaxed

Смотрите также

функциональный объект, реализующий x > y
(шаблон класса)