xstddef (597B)
1 // -*- c++ -*- 2 #pragma once 3 4 #define less __less_base 5 #include_next <xstddef> 6 #undef less 7 8 namespace std 9 { 10 11 // https://timsong-cpp.github.io/cppwp/n4659/comparisons.less 12 template <typename T = void> struct less 13 { 14 constexpr bool operator()(const T& x, const T& y) const { return x < y; } 15 }; 16 17 template<> struct less<void> 18 { 19 template <typename T, typename U> 20 constexpr auto operator()(T&& t, U&& u) const 21 -> decltype(static_cast<T&&>(t) < static_cast<U&&>(u)) 22 { 23 return static_cast<T&&>(t) < static_cast<U&&>(u); 24 } 25 26 using is_transparent = void; 27 }; 28 29 }