|
template<typename T , typename U > |
constexpr auto | operator() (T &&a, U &&b) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | operator() (T *a, U *b, size_t size) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U , size_t N1, size_t N2> |
constexpr auto | operator() (T(&a)[N1], U(&b)[N2]) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | operator() (T *a, size_t size1, U *b, size_t size2) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | operator() (T *a, size_t size1, U *b, end_by_zero_t) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | operator() (T *a, end_by_zero_t, U *b, size_t size2) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | operator() (T *a, end_by_zero_t, U *b, end_by_zero_t) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | operator() (T *a, size_t size1, just_an_part_t, U *b, end_by_zero_t) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | lexicographical (T *a, size_t size1, U *b, size_t size2) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U , size_t N1, size_t N2> |
constexpr auto | lexicographical (T(&a)[N1], U(&b)[N2]) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | lexicographical (T *a, size_t size1, U *b, end_by_zero_t) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | lexicographical (T *a, end_by_zero_t, U *b, size_t size2) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | lexicographical (T *a, end_by_zero_t, U *b, end_by_zero_t) const noexcept(nothrow< T, U >) |
|
template<typename T , typename U > |
constexpr auto | lexicographical (T *a, size_t size1, just_an_part_t, U *b, end_by_zero_t) const noexcept(nothrow< T, U >) |
|
constexpr auto | reverse (partial_ordering odr) const noexcept |
|
constexpr auto | reverse (weak_ordering odr) const noexcept |
|
constexpr auto | reverse (strong_ordering odr) const noexcept |
|
若大小相同则以字典序三路比较任意支持比较的类型或其数组,并在 <=> 不可用时以 < 和 == 为后备. 用法: 判断两者是否可真的进行三路比较。 compare.r_able<类型1,类型2(可选,默认与1相同)> -> bool 判断两者是否可进行compare操作。 compare.able<类型1,类型2(可选,默认与1相同)> -> bool 判断将两者进行三路比较是否会抛出异常。 compare.nothrow<类型1,类型2(可选,默认与1相同)> -> bool
compare(T1,T2) compare(T1[N1],T2[N2]) compare(T1*,size1,T2*,size2) compare(T1*,T2*,size) 返回类型语义上是三路比较的结果类型,具体类型视情况而定.
以字典序进行三路比较。 compare.lexicographical(T1,T2) compare.lexicographical(T1[N1],T2[N2]) compare.lexicographical(T1*,size1,T2*,size2) compare.lexicographical(T1*,T2*,size) 返回类型语义上是三路比较的结果类型,具体类型视情况而定.
翻转三路比较的结果类型。 compare.reverse(order) 返回对应结果类型的反义,与零相等或无法比较时则返回其本身。
在文件 all_defs.cpp 第 1960 行定义.