std::less<void>
Определено в заголовочном файле <functional> | ||
template<> class less<void>; | (начиная с C++14) | |
std::less<> это специализация std::less с выведенным типом параметров и возвращаемого значения.
Содержание |
[править]Определяемый реализацией строгий общий порядок указателей
Оператор вызова функции выдаёт определённый реализацией строгий общий порядок указателей, если оператор <
между аргументами вызывает встроенный оператор сравнения для указателей, даже если встроенный <
оператор нет.
Строгий общий порядок, определяемый реализацией, согласуется с частичным порядком, налагаемым встроенными операторами сравнения (<=>
,(начиная с C++20)<
, >
, <=
и >=
), и согласуется со следующими стандартными функциональными объектами:
- std::less, std::greater, std::less_equal и std::greater_equal, когда аргумент шаблона тип указателя или void
| (начиная с C++20) |
[править]Типы элементы
Тип элемент | Определение |
is_transparent | /* неопределено */ |
[править]Функции-элементы
operator() | проверяет, меньше ли lhs при сравнении, чем rhs (public функция-элемент) |
std::less<>::operator()
template<class T, class U> constexprauto operator()( T&& lhs, U&& rhs )const | ||
Возвращает результат std::forward<T>(lhs)<std::forward<U>(rhs).
Параметры
lhs, rhs | — | значения для сравнения |
Возвращаемое значение
Результат std::forward<T>(lhs)<std::forward<U>(rhs).
Если сравнение между обоими аргументами приводит к встроенному оператору сравнения для типа указателя, после преобразования обоих аргументов в указатели для сравнения используется строгий общий порядок, определённый реализацией.
[править]Исключения
Может генерировать исключения, определённые реализацией.
[править]Примечание
Тип элемент is_transparent
указывает вызывающему объекту, что этот функциональный объект является прозрачным: он принимает аргументы произвольных типов и использует идеальную переадресацию, которая позволяет избежать ненужного копирования и преобразования, когда функциональный объект используется в разнородном контексте или с аргументами rvalue. В частности, шаблонные функции, такие как std::set::find и std::set::lower_bound , используют этот тип элемента в своих типах Compare
.
[править]Пример
Этот раздел не завершён Причина: нет примера |