std::greater_equal
Определено в заголовочном файле <functional> | ||
template<class T > struct greater_equal; | (до C++14) | |
template<class T =void> struct greater_equal; | (начиная с C++14) | |
Функциональный объект для выполнения сравнений. Если не указано иное, вызывает operator>= для типа T
.
Содержание |
[править]Определяемый реализацией строгий общий порядок указателей
Специализация std::greater_equal
для любого типа указателя приводит к определённому реализацией строгому общему порядку, даже если встроенный >=
оператор нет.
Строгий общий порядок, определяемый реализацией, согласуется с частичным порядком, налагаемым встроенными операторами сравнения (<=>
,(начиная с C++20)<
, >
, <=
и >=
), и согласуется со следующими стандартными функциональными объектами:
- std::less, std::greater, std::less_equal и std::greater_equal, когда аргумент шаблона тип указателя или void(начиная с C++14)
| (начиная с C++20) |
[править]Специализации
(C++14) | объект функции, реализующий x >= y выводящий типы аргументов и возвращаемых значений (специализация шаблона класса) |
[править]Типы элементы
Тип | Определение |
result_type (устарело в C++17)(удалено в C++20) | bool |
first_argument_type (устарело в C++17)(удалено в C++20) | T |
second_argument_type (устарело в C++17)(удалено в C++20) | T |
Эти типы элементы получаются путём открытого наследования std::binary_function<T, T, bool>. | (до C++11) |
[править]Функции-элементы
operator() | проверяет, является ли первый аргумент большим или равным второму (public функция-элемент) |
std::greater_equal::operator()
bool operator()(const T& lhs, const T& rhs )const; | (до C++14) | |
constexprbool operator()(const T& lhs, const T& rhs )const; | (начиная с C++14) | |
Проверяет, является ли lhsбольшим или равнымrhs.
Параметры
lhs, rhs | — | значения для сравнения |
Возвращаемое значение
Для T
, который не является указателем, true, если lhs >= rhs, иначе false.
Для T
, который является типом указателя, true, если lhs не предшествует rhs в строгом общем порядке, определяемом реализацией, иначе false.
[править]Исключения
Может генерировать исключения, определённые реализацией.
Возможная реализация
constexprbool operator()(const T &lhs, const T &rhs)const{return lhs >= rhs;// предполагает, что реализация использует// плоское адресное пространство} |
[править]Смотрите также
функциональный объект, реализующий x < y (шаблон класса) | |
(C++20) | функциональный объект, реализующий x >= y (класс) |