std::less_equal<void>
来自cppreference.com
< cpp | utility | functional
在标头 <functional> 定义
|
||
template<> class less_equal<void>; |
(C++14 起) | |
std::less_equal<> 是 std::less_equal 的特化,拥有待推导的参数和返回类型。
实现定义的指针上的严格全序
若参数间的 <=
运算符调用指针的内建比较运算符,则函数调用运算符产生实现定义的指针上的严格全序,即使内建的 <=
运算符不如此。
实现定义的严格全序与比较运算符( <=>
、 (C++20 起)<
、 >
、 <=
及 >=
)所施加的偏序一致,并在下列标准函数对象间一致:
- std::less、 std::greater、 std::less_equal 及 std::greater_equal ,当模板实参为指针类型或 void 时
|
(C++20 起) |
成员类型
成员类型 | 定义 |
is_transparent
|
/* 未指定 */ |
成员函数
operator() |
测试 lhs 是否比较小于或等于 rhs (公开成员函数) |
std::less_equal<>::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) 的结果。
若两个实参的比较解析到指针类型的内建比较运算符,则在转换两个实参到指针后用实现定义的严格全序进行比较。
异常
可能会抛出由实现定义的异常。
注解
成员类型 is_transparent
指示调用方,此函数对象是一个通透函数对象:它接受任意类型的参数并使用完美转发,这在将函数对象在多种语境中,或以右值参数使用时,避免不需要的复制和转换。特别是,诸如 std::set::find 和 std::set::lower_bound 的模板函数在其 Compare
类型上使用此类型。
示例
本节未完成 原因:暂无示例 |