Класс 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 = Q_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, равно ли ей или больше ли она 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 = Q_NULLPTR)
Создаёт QVersionNumber из строки string в специальном формате, содержащей целые неотрицательные числа, разделенные точкой (.).
После парсинга числовых сегментов, оставшаяся часть строки считается суффиксом. Начальный индекс этой строки будет сохранён в 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().
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
Возвращает значение сегмента по индексу index. Если индекс не существует, возвращает 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/qt-5.9/qversionnumber.html