19#include "QtCore/private/qglobal_p.h"
29constexpr T &&
Forward(
typename std::remove_reference<T>::type &t)
noexcept
31 return static_cast<T &&>(t);
35constexpr T &&
Forward(
typename std::remove_reference<T>::type &&t)
noexcept
37 static_assert(!
std::is_lvalue_reference<T>::value,
38 "template argument substituting T is an lvalue reference type");
39 return static_cast<T &&>(t);
42template <
typename ManualType,
typename ...>
48template <
typename ... Types>
51template <
typename ManualType,
typename... Types>
55template<
typename ... Values>
58template <
template <
typename>
class Predicate,
62template <
typename ... Right,
typename ... Left>
66template<
typename ... Right,
typename Middle,
typename ... Left>
72template <
template <
typename>
class Predicate,
85template <
template <
typename>
class Predicate>
91template <
typename ... Values>
94template <
typename Pivot,
typename ... Values>
97 template <
typename Left>
99 static constexpr const bool value = Left::data() <= Pivot::data();
102 template <
typename Left>
104 static constexpr const bool value = !(Left::data() <= Pivot::data());
124template <
typename ManualType =
void,
typename ... Types>
127 return {{QtPrivate::Forward<
typename QtPrivate::ArrayType<ManualType, Types...>::value_type>(t)...}};
130template<
typename ... Values>
135template<
typename ... Values>
138 return qMakeArray(Values::data() ...);
std::array< typename ArrayTypeHelper< ManualType, Types... >::type, sizeof...(Types)> ArrayType
constexpr T && Forward(typename std::remove_reference< T >::type &t) noexcept
constexpr QuickSortData< Right..., Left... > quickSortConcat(QuickSortData< Right... >, QuickSortData< Left... >) noexcept
constexpr T && Forward(typename std::remove_reference< T >::type &&t) noexcept
constexpr QuickSortData< Right..., Middle, Left... > quickSortConcat(QuickSortData< Right... >, QuickSortData< Middle >, QuickSortData< Left... >) noexcept
constexpr auto qMakeArray(QtPrivate::QuickSortData< Values... >) noexcept -> decltype(qMakeArray(Values::data()...))
constexpr QtPrivate::ArrayType< ManualType, Types... > qMakeArray(Types &&... t) noexcept
typename QtPrivate::QuickSort< typename QtPrivate::QuickSortData< Values... > >::Type Data
static constexpr const bool value
static constexpr const bool value