18#include "QtCore/private/qglobal_p.h"
28constexpr T &&
Forward(
typename std::remove_reference<T>::type &t)
noexcept
30 return static_cast<T &&>(t);
34constexpr T &&
Forward(
typename std::remove_reference<T>::type &&t)
noexcept
36 static_assert(!
std::is_lvalue_reference<T>::value,
37 "template argument substituting T is an lvalue reference type");
38 return static_cast<T &&>(t);
41template <
typename ManualType,
typename ...>
47template <
typename ... Types>
50template <
typename ManualType,
typename... Types>
54template<
typename ... Values>
57template <
template <
typename>
class Predicate,
61template <
typename ... Right,
typename ... Left>
65template<
typename ... Right,
typename Middle,
typename ... Left>
71template <
template <
typename>
class Predicate,
84template <
template <
typename>
class Predicate>
90template <
typename ... Values>
93template <
typename Pivot,
typename ... Values>
96 template <
typename Left>
98 static constexpr const bool value = Left::data() <= Pivot::data();
101 template <
typename Left>
103 static constexpr const bool value = !(Left::data() <= Pivot::data());
123template <
typename ManualType =
void,
typename ... Types>
126 return {{QtPrivate::Forward<
typename QtPrivate::ArrayType<ManualType, Types...>::value_type>(t)...}};
129template<
typename ... Values>
134template<
typename ... Values>
137 return qMakeArray(Values::data() ...);
constexpr T && Forward(typename std::remove_reference< T >::type &t) noexcept
std::array< typename ArrayTypeHelper< ManualType, Types... >::type, sizeof...(Types)> ArrayType
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