Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QtOrderingPrivate Namespace Reference

Namespaces

namespace  CompareThreeWayTester
 

Classes

struct  HasCustomCompareThreeWay
 
struct  HasCustomCompareThreeWay< LT, RT, std::void_t< decltype(is_eq(compareThreeWay(std::declval< LT >(), std::declval< RT >())))> >
 
struct  is_qt_ordering_type
 
struct  is_qt_ordering_type< Qt::partial_ordering >
 
struct  is_qt_ordering_type< Qt::strong_ordering >
 
struct  is_qt_ordering_type< Qt::weak_ordering >
 
struct  is_std_ordering_type
 
struct  QtOrdering
 
struct  StdOrdering
 

Enumerations

enum class  QtOrderingType {
  QtOrder = 0x00 , StdOrder = 0x01 , Partial = 0x00 , Weak = 0x20 ,
  Strong = 0x40 , StrengthMask = Weak|Strong
}
 

Functions

template<typename O>
constexpr O reversed (O o) noexcept
 
template<typename In>
constexpr auto to_std (In in) noexcept -> typename QtOrderingPrivate::StdOrdering< In >::type
 
template<typename In>
constexpr auto to_Qt (In in) noexcept -> typename QtOrderingPrivate::QtOrdering< In >::type
 
template<typename T>
constexpr std::enable_if_t< is_qt_ordering_type_v< T >, QtOrderingTypeFlag > orderingFlagsFor (T t) noexcept
 
template<typename T>
constexpr std::enable_if_t< is_std_ordering_type_v< T >, QtOrderingTypeFlag > orderingFlagsFor (T t) noexcept
 
template<typename T, typename U>
constexpr Qt::strong_ordering strongOrderingCompareDefaultImpl (T lhs, U rhs) noexcept
 
template<typename Head, typename... Tail, std::size_t... Is>
constexpr std::tuple< Tail... > qt_tuple_pop_front_impl (const std::tuple< Head, Tail... > &t, std::index_sequence< Is... >) noexcept
 
template<typename Head, typename... Tail>
constexpr std::tuple< Tail... > qt_tuple_pop_front (const std::tuple< Head, Tail... > &t) noexcept
 
template<typename LhsHead, typename... LhsTail, typename RhsHead, typename... RhsTail>
constexpr auto compareThreeWayMulti (const std::tuple< LhsHead, LhsTail... > &lhs, const std::tuple< RhsHead, RhsTail... > &rhs) noexcept
 
template<typename InputIt1, typename InputIt2, typename Compare>
auto lexicographicalCompareThreeWay (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, Compare cmp)
 
template<typename InputIt1, typename InputIt2>
auto lexicographicalCompareThreeWay (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2)
 

Variables

template<typename T>
constexpr bool is_std_ordering_type_v = is_std_ordering_type<T>::value
 
template<typename T>
constexpr bool is_qt_ordering_type_v = is_qt_ordering_type<T>::value
 
template<typename T>
constexpr bool is_ordering_type_v = std::disjunction_v<is_qt_ordering_type<T>, is_std_ordering_type<T>>
 

Enumeration Type Documentation

◆ QtOrderingType

Enumerator
QtOrder 
StdOrder 
Partial 
Weak 
Strong 
StrengthMask 

Definition at line 41 of file qcomparehelpers.h.

Function Documentation

◆ compareThreeWayMulti()

template<typename LhsHead, typename... LhsTail, typename RhsHead, typename... RhsTail>
auto QtOrderingPrivate::compareThreeWayMulti ( const std::tuple< LhsHead, LhsTail... > & lhs,
const std::tuple< RhsHead, RhsTail... > & rhs )
constexprnoexcept

Definition at line 1052 of file qcomparehelpers.h.

◆ lexicographicalCompareThreeWay() [1/2]

template<typename InputIt1, typename InputIt2>
auto QtOrderingPrivate::lexicographicalCompareThreeWay ( InputIt1 first1,
InputIt1 last1,
InputIt2 first2,
InputIt2 last2 )

Definition at line 1301 of file qcomparehelpers.h.

◆ lexicographicalCompareThreeWay() [2/2]

template<typename InputIt1, typename InputIt2, typename Compare>
auto QtOrderingPrivate::lexicographicalCompareThreeWay ( InputIt1 first1,
InputIt1 last1,
InputIt2 first2,
InputIt2 last2,
Compare cmp )

Definition at line 1282 of file qcomparehelpers.h.

◆ orderingFlagsFor() [1/2]

template<typename T>
std::enable_if_t< is_qt_ordering_type_v< T >, QtOrderingTypeFlag > QtOrderingPrivate::orderingFlagsFor ( T t)
constexprnoexcept

Definition at line 91 of file qcomparehelpers.h.

References Partial, QtOrder, Strong, and Weak.

◆ orderingFlagsFor() [2/2]

template<typename T>
std::enable_if_t< is_std_ordering_type_v< T >, QtOrderingTypeFlag > QtOrderingPrivate::orderingFlagsFor ( T t)
constexprnoexcept

Definition at line 106 of file qcomparehelpers.h.

References StdOrder.

◆ qt_tuple_pop_front()

template<typename Head, typename... Tail>
std::tuple< Tail... > QtOrderingPrivate::qt_tuple_pop_front ( const std::tuple< Head, Tail... > & t)
constexprnoexcept

Definition at line 1046 of file qcomparehelpers.h.

◆ qt_tuple_pop_front_impl()

template<typename Head, typename... Tail, std::size_t... Is>
std::tuple< Tail... > QtOrderingPrivate::qt_tuple_pop_front_impl ( const std::tuple< Head, Tail... > & t,
std::index_sequence< Is... >  )
constexprnoexcept

Definition at line 1039 of file qcomparehelpers.h.

◆ reversed()

template<typename O>
O QtOrderingPrivate::reversed ( O o)
constexprnoexcept

Definition at line 66 of file qcompare.h.

◆ strongOrderingCompareDefaultImpl()

template<typename T, typename U>
Qt::strong_ordering QtOrderingPrivate::strongOrderingCompareDefaultImpl ( T lhs,
U rhs )
constexprnoexcept

Definition at line 902 of file qcomparehelpers.h.

◆ to_Qt()

template<typename In>
auto QtOrderingPrivate::to_Qt ( In in) -> typename QtOrderingPrivate::QtOrdering<In>::type
constexprnoexcept

Definition at line 81 of file qcomparehelpers.h.

◆ to_std()

template<typename In>
auto QtOrderingPrivate::to_std ( In in) -> typename QtOrderingPrivate::StdOrdering<In>::type
constexprnoexcept

Definition at line 77 of file qcomparehelpers.h.

Variable Documentation

◆ is_ordering_type_v

template<typename T>
bool QtOrderingPrivate::is_ordering_type_v = std::disjunction_v<is_qt_ordering_type<T>, is_std_ordering_type<T>>
constexpr

Definition at line 86 of file qcomparehelpers.h.

◆ is_qt_ordering_type_v

template<typename T>
bool QtOrderingPrivate::is_qt_ordering_type_v = is_qt_ordering_type<T>::value
constexpr

Definition at line 39 of file qcomparehelpers.h.

◆ is_std_ordering_type_v

template<typename T>
bool QtOrderingPrivate::is_std_ordering_type_v = is_std_ordering_type<T>::value
constexpr

Definition at line 38 of file qcomparehelpers.h.