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

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

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

Contents

[edit] Nested types

[edit] Member functions

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

[edit] Example

#include #include   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)); }

[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