libshit

Just some random shit
git clone https://git.neptards.moe/neptards/libshit.git
Log | Files | Refs | Submodules | README | LICENSE

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 }