qversionnumber.h: Stay compatible with C++11

Avoiding relaxed constexpr support is a small change that doesn't hurt
and it allows us to progress in qtdeclarative without waiting for
general C++17 support in qtbase.

Change-Id: I234276036292346d60d6da3a75bcabbdec9ddde8
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
Ulf Hermann 2020-01-31 09:46:56 +01:00
parent 6251963ecd
commit 511cb760ee

View File

@ -344,30 +344,30 @@ public:
if_valid_segment_type<Minor> = true> if_valid_segment_type<Minor> = true>
static constexpr QTypeRevision fromVersion(Major majorVersion, Minor minorVersion) static constexpr QTypeRevision fromVersion(Major majorVersion, Minor minorVersion)
{ {
Q_ASSERT(isValidSegment(majorVersion)); return Q_ASSERT(isValidSegment(majorVersion)),
Q_ASSERT(isValidSegment(minorVersion)); Q_ASSERT(isValidSegment(minorVersion)),
return QTypeRevision(quint8(majorVersion), quint8(minorVersion)); QTypeRevision(quint8(majorVersion), quint8(minorVersion));
} }
template<typename Major, if_valid_segment_type<Major> = true> template<typename Major, if_valid_segment_type<Major> = true>
static constexpr QTypeRevision fromMajorVersion(Major majorVersion) static constexpr QTypeRevision fromMajorVersion(Major majorVersion)
{ {
Q_ASSERT(isValidSegment(majorVersion)); return Q_ASSERT(isValidSegment(majorVersion)),
return QTypeRevision(quint8(majorVersion), SegmentUnknown); QTypeRevision(quint8(majorVersion), SegmentUnknown);
} }
template<typename Minor, if_valid_segment_type<Minor> = true> template<typename Minor, if_valid_segment_type<Minor> = true>
static constexpr QTypeRevision fromMinorVersion(Minor minorVersion) static constexpr QTypeRevision fromMinorVersion(Minor minorVersion)
{ {
Q_ASSERT(isValidSegment(minorVersion)); return Q_ASSERT(isValidSegment(minorVersion)),
return QTypeRevision(SegmentUnknown, quint8(minorVersion)); QTypeRevision(SegmentUnknown, quint8(minorVersion));
} }
template<typename Integer, if_valid_value_type<Integer> = true> template<typename Integer, if_valid_value_type<Integer> = true>
static constexpr QTypeRevision fromEncodedVersion(Integer value) static constexpr QTypeRevision fromEncodedVersion(Integer value)
{ {
Q_ASSERT((value & ~Integer(0xffff)) == Integer(0)); return Q_ASSERT((value & ~Integer(0xffff)) == Integer(0)),
return QTypeRevision((value & Integer(0xff00)) >> 8, value & Integer(0xff)); QTypeRevision((value & Integer(0xff00)) >> 8, value & Integer(0xff));
} }
static constexpr QTypeRevision zero() { return QTypeRevision(0, 0); } static constexpr QTypeRevision zero() { return QTypeRevision(0, 0); }