Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
\inmodule QtCore More...
#include <qtyperevision.h>
Public Types | |
template<typename Integer > | |
using | if_valid_segment_type |
template<typename Integer > | |
using | if_valid_value_type |
Public Member Functions | |
constexpr | QTypeRevision ()=default |
Produces an invalid revision. | |
constexpr bool | hasMajorVersion () const |
Returns true if the major version is known, otherwise false. | |
constexpr quint8 | majorVersion () const |
Returns the major version encoded in the revision. | |
constexpr bool | hasMinorVersion () const |
Returns true if the minor version is known, otherwise false. | |
constexpr quint8 | minorVersion () const |
Returns the minor version encoded in the revision. | |
constexpr bool | isValid () const |
Returns true if the major version or the minor version is known, otherwise false. | |
template<typename Integer , if_valid_value_type< Integer > = true> | |
constexpr Integer | toEncodedVersion () const |
Transforms the revision into an integer value, encoding the minor version into the least significant byte, and the major version into the second least significant byte. | |
Static Public Member Functions | |
template<typename Integer , if_valid_segment_type< Integer > = true> | |
static constexpr bool | isValidSegment (Integer segment) |
Returns true if the given number can be used as either major or minor version in a QTypeRevision. | |
template<typename Major , typename Minor , if_valid_segment_type< Major > = true, if_valid_segment_type< Minor > = true> | |
static constexpr QTypeRevision | fromVersion (Major majorVersion, Minor minorVersion) |
Produces a QTypeRevision from the given majorVersion and minorVersion, both of which need to be a valid segments. | |
template<typename Major , if_valid_segment_type< Major > = true> | |
static constexpr QTypeRevision | fromMajorVersion (Major majorVersion) |
Produces a QTypeRevision from the given majorVersion with an invalid minor version. | |
template<typename Minor , if_valid_segment_type< Minor > = true> | |
static constexpr QTypeRevision | fromMinorVersion (Minor minorVersion) |
Produces a QTypeRevision from the given minorVersion with an invalid major version. | |
template<typename Integer , if_valid_value_type< Integer > = true> | |
static constexpr QTypeRevision | fromEncodedVersion (Integer value) |
Produces a QTypeRevision from the given value. | |
static constexpr QTypeRevision | zero () |
Produces a QTypeRevision with major and minor version {0}. | |
Friends | |
constexpr bool | comparesEqual (const QTypeRevision &lhs, const QTypeRevision &rhs) noexcept |
constexpr Qt::strong_ordering | compareThreeWay (const QTypeRevision &lhs, const QTypeRevision &rhs) noexcept |
Related Symbols | |
(Note that these are not member symbols.) | |
QDataStream & | operator<< (QDataStream &out, const QTypeRevision &revision) |
QDataStream & | operator>> (QDataStream &in, QTypeRevision &revision) |
\inmodule QtCore
The QTypeRevision class contains a lightweight representation of a version number with two 8-bit segments, major and minor, either of which can be unknown. \compares strong
Use this class to describe revisions of a type. Compatible revisions can be expressed as increments of the minor version. Breaking changes can be expressed as increments of the major version. The return values of \l QMetaMethod::revision() and \l QMetaProperty::revision() can be passed to \l QTypeRevision::fromEncodedVersion(). The resulting major and minor versions specify in which Qt versions the properties and methods were added.
Definition at line 30 of file qtyperevision.h.
using QTypeRevision::if_valid_segment_type |
Definition at line 34 of file qtyperevision.h.
using QTypeRevision::if_valid_value_type |
Definition at line 38 of file qtyperevision.h.
|
constexprdefault |
Produces an invalid revision.
Referenced by fromEncodedVersion(), fromMajorVersion(), fromMinorVersion(), fromVersion(), and zero().
|
inlinestaticconstexpr |
Produces a QTypeRevision from the given value.
value encodes both the minor and major versions in the least significant and second least significant byte, respectively.
value must not have any bits outside the least significant two bytes set. Integer
needs to be at least 16 bits wide, and must not have a sign bit in the least significant 16 bits.
Definition at line 78 of file qtyperevision.h.
References QTypeRevision(), and Q_ASSERT.
Referenced by availableRevisions(), QmlTypesClassDescription::collect(), getRevision(), isRevisionAllowed(), QQmlPropertyData::load(), QQmlPropertyData::load(), operator>>(), QQmlPrivate::revisionClassInfo(), QQmlPrivate::revisionClassInfos(), and QmlTypeRegistrar::write().
|
inlinestaticconstexpr |
Produces a QTypeRevision from the given majorVersion with an invalid minor version.
majorVersion needs to be a valid segment.
Definition at line 64 of file qtyperevision.h.
References QTypeRevision(), isValidSegment(), majorVersion(), and Q_ASSERT.
Referenced by assignVersions(), QmlIR::IRBuilder::extractVersion(), QQmlMetaTypeData::propertyCache(), qmlProtectModule(), qmlRegisterAnonymousSequentialContainer(), qmlRegisterNamespaceAndRevisions(), QQmlPrivate::qmlRegisterSequenceAndRevisions(), QQmlPrivate::qmlRegisterSingletonAndRevisions(), QQmlPrivate::qmlRegisterTypeAndRevisions(), QQmlPrivate::qmlRegisterTypeAndRevisions< QQmlTypeNotAvailable, void >(), resolveImport(), and resolveModuleVersion().
|
inlinestaticconstexpr |
Produces a QTypeRevision from the given minorVersion with an invalid major version.
minorVersion needs to be a valid segment.
Definition at line 71 of file qtyperevision.h.
References QTypeRevision(), isValidSegment(), minorVersion(), and Q_ASSERT.
Referenced by Moc::parsePropertyAttributes(), Moc::parseRevision(), QQmlPrivate::qmlregister(), qmlRegisterAnonymousType(), qmlRegisterCustomType(), qmlRegisterExtendedUncreatableType(), qmlRegisterRevision(), qmlRegisterType(), qmlRegisterUncreatableType(), QQmlTypeModuleVersion::type(), and QQmlImports::validVersion().
|
inlinestaticconstexpr |
Produces a QTypeRevision from the given majorVersion and minorVersion, both of which need to be a valid segments.
Definition at line 56 of file qtyperevision.h.
References QTypeRevision(), isValidSegment(), majorVersion(), minorVersion(), and Q_ASSERT.
Referenced by assignVersions(), doRegisterSingletonAndRevisions(), doRegisterTypeAndRevisions(), QmlIR::IRBuilder::extractVersion(), handleInMinorVersion(), QQmlMetaType::latestModuleVersion(), QQmlMetaType::matchingModuleVersion(), Moc::parseRevision(), parseVersion(), parseVersion(), QQmlMetaTypeData::propertyCache(), qmlRegisterAnonymousType(), qmlRegisterCustomExtendedType(), qmlRegisterCustomType(), qmlRegisterExtendedType(), qmlRegisterExtendedType(), qmlRegisterExtendedUncreatableType(), qmlRegisterInterface(), qmlRegisterModule(), qmlRegisterRevision(), qmlRegisterSingletonType(), qmlRegisterSingletonType(), qmlRegisterType(), qmlRegisterType(), qmlRegisterType< void >(), qmlRegisterUncreatableMetaObject(), qmlRegisterUncreatableType(), qmlTypeId(), resolveImport(), QQuickStyle::setFallbackStyle(), QQuickStyle::setStyle(), and uniqueRevisions().
|
inlineconstexpr |
Returns true if the major version is known, otherwise false.
Definition at line 88 of file qtyperevision.h.
Referenced by assignVersions(), QQmlType::availableInVersion(), findCompositeSingletons(), QQmlImportInstance::getVersionedScripts(), handleInMinorVersion(), isAllowedInMajorVersion(), QQmlPropertyCache::isAllowedInRevision(), isValid(), QQmlImportDatabase::lockModule(), QQmlMetaType::matchingModuleVersion(), QQmlMetaType::moduleImports(), operator<<(), QQmlMetaTypeData::propertyCache(), QQmlMetaType::protectModule(), qQmlResolveImportPaths(), QQmlImportInstance::resolveType(), QQmlMetaType::typeModule(), uniqueRevisions(), and QQmlTypeLoader::Blob::updateQmldir().
|
inlineconstexpr |
Returns true if the minor version is known, otherwise false.
Definition at line 91 of file qtyperevision.h.
Referenced by assignVersions(), QQmlType::availableInVersion(), QQmlImportInstance::getVersionedScripts(), handleInMinorVersion(), QQmlPropertyCache::isAllowedInRevision(), isValid(), isVersionAllowed(), QQmlMetaType::matchingModuleVersion(), operator<<(), QQmlMetaTypeData::propertyCache(), qQmlResolveImportPaths(), and QQmlMetaType::registerModule().
|
inlineconstexpr |
Returns true if the major version or the minor version is known, otherwise false.
Definition at line 94 of file qtyperevision.h.
References hasMajorVersion(), and hasMinorVersion().
Referenced by QQmlImports::addFileImport(), QQmlImports::addLibraryImport(), QmlTypesClassDescription::collect(), QQmlPropertyCache::createStandalone(), doRegisterSingletonAndRevisions(), doRegisterTypeAndRevisions(), isRevisionAllowed(), QQmlImportDatabase::lockModule(), operator<(), QQmlDirParser::parse(), QQmlTypeLoader::Blob::updateQmldir(), QQmlImports::updateQmldirContent(), QQmlImports::validVersion(), and QmlTypeRegistrar::write().
|
inlinestaticconstexpr |
Returns true if the given number can be used as either major or minor version in a QTypeRevision.
The valid range for segment is {>=
0} and {<
255}.
Definition at line 45 of file qtyperevision.h.
Referenced by fromMajorVersion(), fromMinorVersion(), fromVersion(), Moc::parsePropertyAttributes(), Moc::parseRevision(), and QQmlTypeModuleVersion::type().
|
inlineconstexpr |
Returns the major version encoded in the revision.
Definition at line 89 of file qtyperevision.h.
Referenced by assignVersions(), QQmlType::availableInVersion(), checkRegistration(), QQuickDesignerSupportItems::createPrimitive(), QQmlMetaTypeData::findTypeModule(), fromMajorVersion(), fromVersion(), getTypeModule(), QQmlImportInstance::getVersionedScripts(), QQmlPropertyCache::isAllowedInRevision(), QQmlMetaType::matchingModuleVersion(), namespaceContainsRegistrations(), operator<<(), operator<<(), qQmlResolveImportPaths(), QQmlImportInstance::resolveType(), uniqueRevisions(), QQmlImports::versionString(), and QmlTypeRegistrar::write().
|
inlineconstexpr |
Returns the minor version encoded in the revision.
Definition at line 92 of file qtyperevision.h.
Referenced by assignVersions(), QQmlType::availableInVersion(), QQuickDesignerSupportItems::createPrimitive(), fromMinorVersion(), fromVersion(), QQmlImportInstance::getVersionedScripts(), handleInMinorVersion(), QQmlPropertyCache::isAllowedInRevision(), QQmlMetaType::matchingModuleVersion(), operator<<(), operator<<(), QQmlMetaTypeData::propertyCache(), qQmlResolveImportPaths(), QQmlImportInstance::resolveType(), uniqueRevisions(), QQmlImports::versionString(), and QmlTypeRegistrar::write().
|
inlineconstexpr |
Transforms the revision into an integer value, encoding the minor version into the least significant byte, and the major version into the second least significant byte.
Integer
needs to be at least 16 bits wide, and must not have a sign bit in the least significant 16 bits.
Definition at line 97 of file qtyperevision.h.
Referenced by operator<<(), Moc::parsePropertyAttributes(), and Moc::testFunctionRevision().
|
inlinestaticconstexpr |
Produces a QTypeRevision with major and minor version {0}.
Definition at line 84 of file qtyperevision.h.
References QTypeRevision().
Referenced by QV4::CompiledData::Import::Import(), QQmlImports::addInlineComponentImport(), QQmlPropertyCacheAliasCreator< ObjectContainer >::appendAliasesToPropertyCache(), QQmlPropertyCacheCreator< ObjectContainer >::createMetaObject(), QQmlPropertyCache::createStandalone(), QQmlPropertyData::hasRevision(), QQmlPropertyCache::isAllowedInRevision(), isRevisionAllowed(), qmlRegisterAnonymousSequentialContainer(), qmlRegisterAnonymousType(), qmlRegisterCustomExtendedType(), qmlRegisterCustomType(), qmlRegisterExtendedType(), qmlRegisterExtendedType(), qmlRegisterExtendedUncreatableType(), qmlRegisterSingletonType(), qmlRegisterType(), qmlRegisterType< void >(), qmlRegisterUncreatableMetaObject(), qmlRegisterUncreatableType(), and QQuickTableViewPrivate::resolveImportVersion().
|
friend |
Definition at line 104 of file qtyperevision.h.
|
friend |
Definition at line 107 of file qtyperevision.h.
|
related |
Writes the revision revision to stream out.
Definition at line 165 of file qtyperevision.cpp.
References out, and toEncodedVersion().
|
related |
Reads a revision from stream in and stores it in revision.
Definition at line 177 of file qtyperevision.cpp.
References fromEncodedVersion().