std::less_equal(3) | C++ Standard Libary | std::less_equal(3) |
NAME¶
std::less_equal - std::less_equal
Synopsis¶
Defined in header <functional>
template< class T > (until C++14)
struct less_equal;
template< class T = void > (since C++14)
struct less_equal;
Function object for performing comparisons. Unless specialized, invokes
operator<=
on type T.
Implementation-defined strict total order over pointers
A specialization of std::less_equal for any pointer type yields the
implementation-defined strict total order, even if the built-in <=
operator does
not.
The implementation-defined strict total order is consistent with the partial
order
imposed by built-in comparison operators (
<=>,
(since C++20)<, >, <=, and >=), and consistent among
following standard function
objects:
* std::less, std::greater, std::less_equal, and std::greater_equal, when the
template argument is a pointer type
or void
(since C++14)
* std::ranges::equal_to, std::ranges::not_equal_to,
std::ranges::less, std::ranges::greater, std::ranges::less_equal, (since
C++20)
std::ranges::greater_equal, and std::compare_three_way
Specializations¶
less_equal<void> function object implementing x <= y
deducing argument and return
(C++14) types
(class template specialization)
Member types¶
Type Definition
result_type (deprecated in C++17)(removed in C++20) bool
first_argument_type (deprecated in C++17)(removed in C++20) T
second_argument_type (deprecated in C++17)(removed in C++20) T
These member types are obtained via publicly inheriting (until C++11)
std::binary_function<T, T, bool>.
Member functions¶
operator() checks if the first argument is less than or equal to
the second
(public member function)
std::less_equal::operator()
bool operator()( const T& lhs, const T& rhs ) const; (until
C++14)
constexpr bool operator()( const T& lhs, const T& rhs ) const;
(since C++14)
Checks if lhs is less than or equal to rhs.
Parameters¶
lhs, rhs - values to compare
Return value¶
For T which is not a pointer type, true if lhs <= rhs, false otherwise.
For T which is a pointer type, true if lhs does not succeed rhs in the
implementation-defined strict total order, false otherwise.
Exceptions¶
May throw implementation-defined exceptions.
Possible implementation¶
constexpr bool operator()(const T &lhs, const T &rhs)
const
{
return lhs <= rhs; // assumes that the implementation uses a flat address
space
}
See also¶
less function object implementing x < y
(class template)
ranges::less_equal function object implementing x <= y
(C++20) (class)
2022.07.31 | http://cppreference.com |