8#pragma qt_class(QtMinMax)
9#pragma qt_sync_stop_processing
12#include <QtCore/qassert.h>
13#include <QtCore/qtconfigmacros.h>
22template<
typename T,
typename U,
23 typename = std::enable_if_t<std::is_arithmetic_v<T> && std::is_arithmetic_v<U> &&
24 std::is_floating_point_v<T> == std::is_floating_point_v<U> &&
25 std::is_signed_v<T> == std::is_signed_v<U> &&
26 !std::is_same_v<T, bool> && !std::is_same_v<U, bool> &&
27 !std::is_same_v<T, char> && !std::is_same_v<U, char>>>
30 using type =
decltype(T() + U());
34template <
typename T,
typename U>
40constexpr inline const T &
qMin(
const T &
a,
const T &
b) {
return (
a <
b) ?
a :
b; }
42constexpr inline const T &
qMax(
const T &
a,
const T &
b) {
return (
a <
b) ?
b :
a; }
44constexpr inline const T &
qBound(
const T &min,
const T &
val,
const T &max)
49template <
typename T,
typename U>
55 return (_a < _b) ? _a : _b;
57template <
typename T,
typename U>
63 return (_a < _b) ? _b : _a;
65template <
typename T,
typename U>
71template <
typename T,
typename U>
78template <
typename T,
typename U>
Combined button and popup list for selecting options.
typename detail::Promoted< T, U >::type Promoted
constexpr const T & qMin(const T &a, const T &b)
constexpr const T & qBound(const T &min, const T &val, const T &max)
constexpr const T & qMax(const T &a, const T &b)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]