31#define _RANGES_CMP_H 1
33#if __cplusplus > 201703L
37namespace std _GLIBCXX_VISIBILITY(default)
39_GLIBCXX_BEGIN_NAMESPACE_VERSION
41 struct __is_transparent;
49 template<
typename _Tp>
52 operator()(_Tp&& __t)
const noexcept
58#ifdef __cpp_lib_concepts
60#define __cpp_lib_ranges 202110L
69 template<
typename _Tp,
typename _Up>
70 concept __less_builtin_ptr_cmp
71 =
requires (_Tp&& __t, _Up&&
__u) { { __t <
__u } -> same_as<bool>; }
72 && convertible_to<_Tp, const volatile void*>
73 && convertible_to<_Up, const volatile void*>
74 && (!
requires(_Tp&& __t, _Up&& __u)
76 && !
requires(_Tp&& __t, _Up&& __u)
88 template<
typename _Tp,
typename _Up>
91 operator()(_Tp&& __t, _Up&&
__u)
const
101 template<
typename _Tp,
typename _Up>
104 operator()(_Tp&& __t, _Up&&
__u)
const
114 template<
typename _Tp,
typename _Up>
117 operator()(_Tp&& __t, _Up&&
__u)
const
120 if constexpr (__detail::__less_builtin_ptr_cmp<_Tp, _Up>)
122 if (std::__is_constant_evaluated())
125 auto __x =
reinterpret_cast<__UINTPTR_TYPE__
>(
127 auto __y =
reinterpret_cast<__UINTPTR_TYPE__
>(
141 template<
typename _Tp,
typename _Up>
144 operator()(_Tp&& __t, _Up&&
__u)
const
154 template<
typename _Tp,
typename _Up>
157 operator()(_Tp&& __t, _Up&&
__u)
const
167 template<
typename _Tp,
typename _Up>
170 operator()(_Tp&& __t, _Up&&
__u)
const
179_GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.
[func.identity] The identity function.
ranges::equal_to function object type.
ranges::not_equal_to function object type.
ranges::less function object type.
ranges::greater function object type.
ranges::greater_equal function object type.
ranges::less_equal function object type.