Пространства имён
Варианты
Действия

std::ranges::less_equal

Материал из cppreference.com
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
Объекты функции
Функции обёртки
(C++11)
(C++11)
Применение частичных функций
(C++20)(C++23)
(C++11)
Вызов функции
(C++17)(C++23)
Объект идентичности функции
(C++20)
Обёртки ссылок
(C++11)(C++11)
Прозрачные обёртки операторов
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Отрицатели
(C++17)
Искатели
Ограниченные компараторы
Старые привязки и адаптеры
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
(до C++17*)(до C++17*)
(до C++17*)(до C++17*)

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

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

Определяемый реализацией строгий общий порядок указателей

Оператор вызова функции выдаёт определённый реализацией строгий общий порядок указателей, если оператор < между аргументами вызывает встроенный оператор сравнения для указателей, даже если встроенный < оператор нет.

Строгий общий порядок, определяемый реализацией, согласуется с частичным порядком, налагаемым встроенными операторами сравнения (<=>, <, >, <= и >=), и согласуется со следующими стандартными функциональными объектами:

  • std::less, std::greater, std::less_equal и std::greater_equal, когда аргумент шаблона тип указателя или void

Типы элементы

Тип элемент Определение
is_transparent /* не определено */

Функции-элементы

operator()
проверяет, является ли первый аргумент меньшим или равным второму
(public функция-элемент)

std::ranges::less_equal::operator()

<tbody> </tbody>
template< class T, class U > requires std::totally_ordered_with<T, U> // с разными семантическими требованиями constexpr bool operator()(T&& t, U&& u) const;

Сравнивает t и u. Эквивалент return !ranges::less{}(std::forward<U>(u), std::forward<T>(t));.

Примечание

В отличие от std::less_equal, std::ranges::less_equal требует, чтобы все шесть операторов сравнения <, <=, >, >=, == и != были действительными (через ограничение totally_ordered_with) и полностью определяется в терминах std::ranges::less.

Пример

Отчёты о дефектах

Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:

Номер Применён Поведение в стандарте Корректное поведение
LWG 3530 C++20 при сравнении указателей синтаксические проверки были ослаблены смягчены только семантические
требования

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

функциональный объект, реализующий x <= y
(шаблон класса) [править]
Morty Proxy This is a proxified and sanitized view of the page, visit original site.