std::less<void>
| Определён в заголовочном файле <functional>
|
||
template<>
class less<void>;
|
(начиная с C++14) | |
std::less<void> — это специализация std::less, в которой тип параметра и возвращаемый тип выводятся.
Вложенные типы
| Вложенный тип | Определение |
is_transparent
|
unspecified |
Функции-члены
|
operator()
|
проверяет, сравнивается ли
lhs
меньше чем
rhs
(публичная функция-член) |
std::less<void>:: operator()
|
template
<
class
T,
class
U
>
constexpr
auto
operator
(
)
(
T
&&
lhs, U
&&
rhs
)
const
|
||
Возвращает результат std:: forward < T > ( lhs ) < std:: forward < U > ( rhs ) .
Параметры
| lhs, rhs | - | значения для сравнения |
Возвращаемое значение
std:: forward < T > ( lhs ) < std:: forward < U > ( rhs ) .
Если вызывается встроенный оператор сравнения указателей, результат соответствует определенной реализацией строгой тотальной упорядоченности указателей .
Исключения
Может выбрасывать определенные реализацией исключения.
Пример
#include <algorithm> #include <functional> constexpr bool strictly_negative(int lhs) { return std::less<>()(lhs, 0); } int main() { constexpr signed low = 010; constexpr unsigned high = 10; std::less<> less{}; static_assert(less(low, high)); constexpr static auto arr = {0, -1, -2, -3, -4, -5}; static_assert(!std::all_of(arr.begin(), arr.end(), strictly_negative)); static_assert(std::all_of(arr.begin() + 1, arr.end(), strictly_negative)); }
Отчёты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2562 | C++98 | the pointer total order might be inconsistent | guaranteed to be consistent |