Spec-Zone.ru › C++

std::ranges::less_equal

Определено в заголовке <functional>
struct less_equal;
(с C++20)

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

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

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

Члены

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

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

Пример

Отчеты об ошибках

Следующие отчеты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

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

См. также

less_equal
объект-функция, реализующий x <= y
(шаблон класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/ranges/less_equal

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API