std::less_equal - cppreference.com (original) (raw)

| | | | | ------------------------------------ | | ------------- | | template<> class less_equal<void>; | | (since C++14) |

std::less_equal<void> is a specialization of std::less_equal with parameter and return type deduced.

Contents

[edit] Nested types

[edit] Member functions

| | tests if lhs compares less or equal than rhs (public member function) | | ------------------------------------------------------------------------ |

[edit] Example

#include #include #include   constexpr bool strictly_not_positive(int lhs) { return std::less_equal<>()(lhs, 0); }   int main() { constexpr int low = 0, high = 8; std::less_equal<> less_equal{}; static_assert(less_equal(low, high)); static_assert(less_equal(low, low));   static constexpr auto arr = {1, 0, -1, -2, -3, -4}; static_assert(std::all_of(arr.begin(), arr.end(), strictly_not_positive)); static_assert(std::all_of(arr.begin() + 1, arr.end(), strictly_not_positive)); }

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 2562 C++98 the pointer total order might be inconsistent guaranteed to be consistent