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

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

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

Contents

[edit] Nested types

[edit] Member functions

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

[edit] Example

#include #include #include   constexpr bool strictly_positive(int lhs) { return std::greater<>()(lhs, 0); }   int main() { constexpr std::int64_t low = 0B11; constexpr std::uint16_t high = 0X11; std::greater<> greater{}; static_assert(greater(high, low));   constexpr static auto arr = {0, 1, 2, 3, 4, 5}; static_assert(std::all_of(arr.begin(), arr.end(), strictly_positive)); static_assert(std::all_of(arr.begin() + 1, arr.end(), strictly_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