463template <
typename T>
static constexpr T
max = std::numeric_limits<T>::max();
464template <
typename T>
static constexpr T
min = std::numeric_limits<T>::min();
466static_assert(qt_saturate<short>(max<unsigned>) == max<short>);
467static_assert(qt_saturate<int>(max<unsigned>) == max<int>);
468static_assert(qt_saturate<qint64>(max<unsigned>) ==
qint64(max<unsigned>));
470static_assert(qt_saturate<short>(max<int>) == max<short>);
471static_assert(qt_saturate<unsigned>(max<int>) == unsigned(max<int>));
472static_assert(qt_saturate<qint64>(max<int>) ==
qint64(max<int>));
474static_assert(qt_saturate<short>(max<qint64>) == max<short>);
475static_assert(qt_saturate<int>(max<qint64>) == max<int>);
476static_assert(qt_saturate<unsigned>(max<qint64>) == max<unsigned>);
477static_assert(qt_saturate<quint64>(max<qint64>) ==
quint64(max<qint64>));
479static_assert(qt_saturate<short>(max<quint64>) == max<short>);
480static_assert(qt_saturate<int>(max<quint64>) == max<int>);
481static_assert(qt_saturate<unsigned>(max<quint64>) == max<unsigned>);
482static_assert(qt_saturate<qint64>(max<quint64>) == max<qint64>);
484static_assert(qt_saturate<short>(min<int>) == min<short>);
485static_assert(qt_saturate<qint64>(min<int>) ==
qint64(min<int>));
486static_assert(qt_saturate<unsigned>(min<int>) == 0);
487static_assert(qt_saturate<quint64>(min<int>) == 0);
489static_assert(qt_saturate<short>(min<qint64>) == min<short>);
490static_assert(qt_saturate<int>(min<qint64>) == min<int>);
491static_assert(qt_saturate<unsigned>(min<qint64>) == 0);
492static_assert(qt_saturate<quint64>(min<qint64>) == 0);