std::less_equal
Определено в заголовочном файле <functional>
|
||
template< class T > struct less_equal; |
(до C++14) | |
template< class T = void > struct less_equal; |
(начиная с C++14) | |
Функциональный объект для выполнения сравнений. Если не указано иное, вызывает operator<= для типа T
.
Содержание |
[править] Определяемый реализацией строгий общий порядок указателей
Специализация std::less_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::less_equal::operator()
bool operator()( const T& lhs, const T& rhs ) const; |
(до C++14) | |
constexpr bool operator()( const T& lhs, const T& rhs ) const; |
(начиная с C++14) | |
Проверяет, является ли lhs меньшим или равным rhs.
Параметры
lhs, rhs | — | значения для сравнения |
Возвращаемое значение
Для T
, который не является указателем, true, если lhs <= rhs, иначе false.
Для T
, который является типом указателя, true, если lhs не следует за rhs в строгом общем порядке, определяемом реализацией, иначе false.
[править] Исключения
Может генерировать исключения, определённые реализацией.
Возможная реализация
constexpr bool operator()(const T &lhs, const T &rhs) const { return lhs <= rhs; // предполагает, что реализация использует // плоское адресное пространство } |
[править] Смотрите также
функциональный объект, реализующий x < y (шаблон класса) | |
(C++20) |
функциональный объект, реализующий x <= y (класс) |