Класс QVersionNumber
Класс QVersionNumber содержит номер версии с произвольным количеством сегментов. Подробнее...
| Заголовок: | #include <QVersionNumber> |
| qmake: | QT += core |
| С момента: | Qt 5.6 |
Открытые функции
| QVersionNumber() | |
| QVersionNumber(const QVector<int> &seg) | |
| QVersionNumber(QVector<int> &&seg) | |
| QVersionNumber(std::initializer_list<int> args) | |
| QVersionNumber(int maj) | |
| QVersionNumber(int maj, int min) | |
| QVersionNumber(int maj, int min, int mic) | |
| bool | isNormalized() const |
| bool | isNull() const |
| bool | isPrefixOf(const QVersionNumber &other) const |
| int | majorVersion() const |
| int | microVersion() const |
| int | minorVersion() const |
| QVersionNumber | normalized() const |
| int | segmentAt(int index) const |
| int | segmentCount() const |
| QVector<int> | segments() const |
| QString | toString() const |
Статические открытые члены
| QVersionNumber | commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2) |
| int | compare(const QVersionNumber &v1, const QVersionNumber &v2) |
| QVersionNumber | fromString(const QString &string, int *suffixIndex = nullptr) |
| QVersionNumber | fromString(QLatin1String string, int *suffixIndex = nullptr) |
| QVersionNumber | fromString(QStringView string, int *suffixIndex = nullptr) |
Связанные нечлены
| bool | operator!=(const QVersionNumber &lhs, const QVersionNumber &rhs) |
| bool | operator<(const QVersionNumber &lhs, const QVersionNumber &rhs) |
| QDataStream & | operator<<(QDataStream &out, const QVersionNumber &version) |
| bool | operator<=(const QVersionNumber &lhs, const QVersionNumber &rhs) |
| bool | operator==(const QVersionNumber &lhs, const QVersionNumber &rhs) |
| bool | operator>(const QVersionNumber &lhs, const QVersionNumber &rhs) |
| bool | operator>=(const QVersionNumber &lhs, const QVersionNumber &rhs) |
| QDataStream & | operator>>(QDataStream &in, QVersionNumber &version) |
Подробное описание
Класс QVersionNumber содержит номер версии с произвольным количеством сегментов.
QVersionNumber version(1, 2, 3); // 1.2.3
Документация по функциям-членам
QVersionNumber::QVersionNumber()
Создаёт нулевую версию.
См. также isNull().
QVersionNumber::QVersionNumber(const QVector<int> &seg)
Создаёт номер версии из списка чисел, содержащихся в seg.
QVersionNumber::QVersionNumber(QVector<int> &&seg)
Создаёт номер версии из списка чисел, содержащихся в seg. Перемещающее построение.
Этот конструктор включён только в том случае, если компилятор поддерживает семантику перемещения C++11.
QVersionNumber::QVersionNumber(std::initializer_list<int> args)
Создаёт номер версии из std::initializer_list, заданной args.
Этот конструктор включён только в том случае, если компилятор поддерживает списки инициализации C++11.
QVersionNumber::QVersionNumber(int maj)
Создаёт QVersionNumber, состоящий только из номера основной версии maj.
QVersionNumber::QVersionNumber(int maj, int min)
Создаёт QVersionNumber, состоящий из номеров основной и второстепенной версий maj и min соответственно.
QVersionNumber::QVersionNumber(int maj, int min, int mic)
Создаёт QVersionNumber, состоящий из номеров основной, второстепенной и микроверсии maj, min и mic соответственно.
[static] QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)
QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)
Возвращает номер версии, являющейся родительской версией для v1 и v2.
См. также isPrefixOf().
[static] int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2)
Сравнивает v1 с v2 и возвращает целое число, меньшее, равное или большее нуля, в зависимости от того, меньше ли v1, равно ли v1 или больше ли v1, чем v2 соответственно.
Сравнения выполняются путём сравнения сегментов v1 и v2, начиная с индекса 0 и работая в направлении конца более длинного списка.
QVersionNumber v1(1, 2); QVersionNumber v2(1, 2, 0); int compare = QVersionNumber::compare(v1, v2); // compare == -1
[static] QVersionNumber QVersionNumber::fromString(const QString &string, int *suffixIndex = nullptr)
Создаёт QVersionNumber из специально отформатированной строки неотрицательных десятичных чисел, разделённых точкой (.).
После разбора числовых сегментов, оставшаяся часть строки считается строкой суффикса. Начальный индекс этой строки будет сохранён в suffixIndex, если он не равен null.
QString string("5.4.0-alpha");
int suffixIndex;
QVersionNumber version = QVersionNumber::fromString(string, &suffixIndex);
// version is 5.4.0
// suffixIndex is 5 См. также isNull().
[static] QVersionNumber QVersionNumber::fromString(QLatin1String string, int *suffixIndex = nullptr)
Это перегруженный метод.
Создаёт QVersionNumber из специально отформатированной строки неотрицательных десятичных чисел, разделённых точкой «.».
После разбора числовых сегментов, оставшаяся часть строки считается строкой суффикса. Начальный индекс этой строки будет сохранён в suffixIndex, если он не равен null.
QLatin1String string("5.4.0-alpha");
int suffixIndex;
auto version = QVersionNumber::fromString(string, &suffixIndex);
// version is 5.4.0
// suffixIndex is 5 Этот метод был добавлен в Qt 5.10.
См. также isNull().
[static] QVersionNumber QVersionNumber::fromString(QStringView string, int *suffixIndex = nullptr)
Это перегруженный метод.
Создаёт QVersionNumber из специально отформатированной строки неотрицательных десятичных чисел, разделённых точкой «.».
После разбора числовых сегментов, оставшаяся часть строки считается строкой суффикса. Начальный индекс этой строки будет сохранён в suffixIndex, если он не равен null.
QString string("5.4.0-alpha");
int suffixIndex;
QVersionNumber version = QVersionNumber::fromString(string, &suffixIndex);
// version is 5.4.0
// suffixIndex is 5 Этот метод был добавлен в Qt 5.10.
См. также isNull().
bool QVersionNumber::isNormalized() const
Возвращает true если номер версии не содержит завершающих нулей, в противном случае возвращает false.
См. также normalized().
bool QVersionNumber::isNull() const
Возвращает true если числовых сегментов ноль, в противном случае возвращает false.
См. также segments().
bool QVersionNumber::isPrefixOf(const QVersionNumber &other) const
Возвращает true если текущий номер версии содержится в номере версии other, в противном случае возвращает false.
QVersionNumber v1(5, 3); QVersionNumber v2(5, 3, 1); bool value = v1.isPrefixOf(v2); // true
См. также commonPrefix().
int QVersionNumber::majorVersion() const
Возвращает номер основной версии, то есть первый сегмент. Этот метод эквивалентен segmentAt(0). Если этот объект QVersionNumber является нулевым, этот метод возвращает 0.
См. также isNull() и segmentAt().
int QVersionNumber::microVersion() const
Возвращает номер микроверсии, то есть третий сегмент. Этот метод эквивалентен segmentAt(2). Если в этом объекте QVersionNumber нет микроверсии, этот метод возвращает 0.
См. также isNull() и segmentAt().
int QVersionNumber::minorVersion() const
Возвращает номер дополнительной версии, то есть второй сегмент. Этот метод эквивалентен segmentAt(1). Если в этом объекте QVersionNumber нет дополнительной версии, этот метод возвращает 0.
См. также isNull() и segmentAt().
QVersionNumber QVersionNumber::normalized() const
Возвращает эквивалентный номер версии, но со всеми завершающими нулями, удалёнными.
Для проверки эквивалентности двух чисел используйте normalized() для обоих номеров версий перед выполнением сравнения.
QVersionNumber v1(5, 4); QVersionNumber v2(5, 4, 0); bool equivalent = v1.normalized() == v2.normalized(); bool equal = v1 == v2; // equivalent is true // equal is false
int QVersionNumber::segmentAt(int index) const
Возвращает значение сегмента по индексу. Если индекс не существует, возвращает 0.
См. также segments() и segmentCount().
int QVersionNumber::segmentCount() const
Возвращает количество целых чисел, хранящихся в segments().
См. также segments().
QVector<int> QVersionNumber::segments() const
Возвращает все числовые сегменты.
См. также majorVersion(), minorVersion() и microVersion().
QString QVersionNumber::toString() const
Возвращает строку со всеми сегментами, разделёнными точкой (.).
См. также majorVersion(), minorVersion(), microVersion() и segments().
Связанные нечленные методы
bool operator!=(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs не равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator<(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs меньше rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
QDataStream &operator<<(QDataStream &out, const QVersionNumber &version)
Записывает номер версии version в поток out.
Обратите внимание, что это не имеет ничего общего с QDataStream::version().
bool operator<=(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs меньше или равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator==(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator>(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs больше rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator>=(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs больше или равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
QDataStream &operator>>(QDataStream &in, QVersionNumber &version)
Считывает номер версии из потока in и сохраняет его в version.
Обратите внимание, что это не имеет ничего общего с QDataStream::version().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qversionnumber.html