Класс QStringRef
Класс QStringRef предоставляет тонкий оберточный класс для подстрок класса QString. Подробнее...
| Заголовок: | #include <QStringRef> |
| qmake: | QT += core |
| С: | Qt 4.3 |
Этот класс был введён в Qt 4.3.
Примечание: Все функции в этом классе являются повторно-входными.
Открытые типы
| typedef | const_iterator |
| typedef | const_reverse_iterator |
Открытые функции
| QStringRef(const QStringRef &other) | |
| QStringRef(const QString *string) | |
| QStringRef(const QString *string, int position, int length) | |
| QStringRef() | |
| QStringRef & | operator=(const QStringRef &other) |
| ~QStringRef() | |
| QStringRef | appendTo(QString *string) const |
| const QChar | at(int position) const |
| QChar | back() const |
| QStringRef::const_iterator | begin() const |
| QStringRef::const_iterator | cbegin() const |
| QStringRef::const_iterator | cend() const |
| void | chop(int n) |
| QStringRef | chopped(int len) const |
| void | clear() |
| int | compare(const QString &other, Qt::CaseSensitivity cs = ...) const |
| int | compare(const QStringRef &other, Qt::CaseSensitivity cs = ...) const |
| int | compare(QLatin1String other, Qt::CaseSensitivity cs = ...) const |
| int | compare(const QByteArray &other, Qt::CaseSensitivity cs = ...) const |
| QStringRef::const_iterator | constBegin() const |
| const QChar * | constData() const |
| QStringRef::const_iterator | constEnd() const |
| bool | contains(const QString &str, Qt::CaseSensitivity cs = ...) const |
| bool | contains(QChar ch, Qt::CaseSensitivity cs = ...) const |
| bool | contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(const QStringRef &str, Qt::CaseSensitivity cs = ...) const |
| int | count() const |
| int | count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringRef::const_reverse_iterator | crbegin() const |
| QStringRef::const_reverse_iterator | crend() const |
| const QChar * | data() const |
| QStringRef::const_iterator | end() const |
| bool | endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QChar | front() const |
| int | indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | isEmpty() const |
| bool | isNull() const |
| bool | isRightToLeft() const |
| int | lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringRef | left(int n) const |
| int | length() const |
| int | localeAwareCompare(const QString &other) const |
| int | localeAwareCompare(const QStringRef &other) const |
| QStringRef | mid(int position, int n = ...) const |
| int | position() const |
| QStringRef::const_reverse_iterator | rbegin() const |
| QStringRef::const_reverse_iterator | rend() const |
| QStringRef | right(int n) const |
| int | размер() const |
| QVector<QStringRef> | split(const QString &sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QVector<QStringRef> | split(QChar sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | начинаетсяС(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | начинаетсяС(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | начинаетсяС(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | начинаетсяС(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | начинаетсяС(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| const QString * | строка() const |
| double | toDouble(bool *ok = nullptr) const |
| float | toFloat(bool *ok = nullptr) const |
| int | toInt(bool *ok = nullptr, int base = 10) const |
| QByteArray | toLatin1() const |
| QByteArray | toLocal8Bit() const |
| long | toLong(bool *ok = nullptr, int base = 10) const |
| qlonglong | toLongLong(bool *ok = nullptr, int base = 10) const |
| short | toShort(bool *ok = nullptr, int base = 10) const |
| QString | toString() const |
| uint | toUInt(bool *ok = nullptr, int base = 10) const |
| ulong | toULong(bool *ok = nullptr, int base = 10) const |
| qulonglong | toULongLong(bool *ok = nullptr, int base = 10) const |
| ushort | toUShort(bool *ok = nullptr, int base = 10) const |
| QVector<uint> | toUcs4() const |
| QByteArray | toUtf8() const |
| QStringRef | обрезанная() const |
| void | truncate(int position) |
| const QChar * | unicode() const |
| bool | operator!=(const char *s) const |
| bool | operator<(const char *s) const |
| bool | operator<=(const char *s) const |
| QStringRef & | operator=(const QString *string) |
| bool | operator==(const char *s) const |
| bool | operator>(const char *s) const |
| bool | operator>=(const char *s) const |
| QChar | operator[](int position) const |
Статические публичные члены
| int | compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = ...) |
| int | compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = ...) |
| int | compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = ...) |
| int | localeAwareCompare(const QStringRef &s1, const QString &s2) |
| int | localeAwareCompare(const QStringRef &s1, const QStringRef &s2) |
Связанные нечлены
| bool | operator<(const QStringRef &s1, const QStringRef &s2) |
| bool | operator<=(const QStringRef &s1, const QStringRef &s2) |
| bool | operator==(const QStringRef &s1, const QStringRef &s2) |
| bool | operator==(const QString &s1, const QStringRef &s2) |
| bool | operator==(QLatin1String s1, const QStringRef &s2) |
| bool | operator>(const QStringRef &s1, const QStringRef &s2) |
| bool | operator>=(const QStringRef &s1, const QStringRef &s2) |
Подробное описание
QStringRef предоставляет только для чтения подмножество API QString.
Ссылка на строку явно ссылается на часть строки string() с заданным размером размера(), начиная со специфической позиции position(). Вызов toString() возвращает копию данных в виде экземпляра реального QString.
Этот класс разработан для повышения производительности обработки подстрок при манипулировании подстроками, полученными из существующих экземпляров QString. QStringRef избегает накладных расходов на выделение памяти и подсчет ссылок стандартного QString, просто ссылаясь на часть исходной строки. Это может оказаться выгодным в коде низкого уровня, таком как код, используемый в анализаторе, ценой потенциально более сложного кода.
Для большинства пользователей нет семантических преимуществ использования QStringRef вместо QString, так как QStringRef требует внимания к проблемам управления памятью, что потенциально делает код более сложным для написания и поддержки.
Предупреждение: QStringRef действителен только до тех пор, пока существует ссылаемая строка. Если исходная строка удалена, ссылка на строку указывает на недействительный адрес памяти.
Мы рекомендуем использовать этот класс только в стабильном коде, где профилирование ясно показало, что можно улучшить производительность, заменив стандартные операции со строками оптимизированной обработкой подстрок, предоставляемой этим классом.
См. также Неявные общие классы.
Документация по типам членов
typedef QStringRef::const_iterator
Этот typedef предоставляет итератор const-итератор в стиле STL для QStringRef.
Этот typedef был представлен в Qt 5.4.
См. также QStringRef::const_reverse_iterator.
typedef QStringRef::const_reverse_iterator
Этот typedef предоставляет обратный итератор const-итератор в стиле STL для QStringRef.
Этот typedef был представлен в Qt 5.7.
См. также QStringRef::const_iterator.
Документация по функциям-членам
QStringRef::QStringRef(const QStringRef &other)
Создает копию ссылки на строку other.
QStringRef::QStringRef(const QString *string)
Создает ссылку на строку для заданной строки string.
QStringRef::QStringRef(const QString *string, int position, int length)
Создает ссылку на строку на диапазон символов в заданной строке string, определяемый начальной position и length в символах.
Предупреждение: Эта функция существует для максимального повышения производительности и не выполняет проверки границ. Для правильности программы position и length должны описывать допустимую подстроку string.
Это означает, что начальная position должна быть положительной или 0 и меньше длины string, а length должна быть положительной или 0, но меньше, чем длина строки минус начальная position; т.е. должны выполняться оба условия: 0 <= position < string->length() и 0 <= length <= string->length() - position.
QStringRef::QStringRef()
Создает пустую ссылку на строку.
QStringRef &QStringRef::operator=(const QStringRef &other)
Присваивает ссылку на строку other этой ссылке на строку и возвращает результат.
QStringRef::~QStringRef()
Удаляет ссылку на строку.
Поскольку этот класс используется только для ссылки на данные строки и не берет на себя их владение, память не освобождается при уничтожении экземпляров.
QStringRef QStringRef::appendTo(QString *string) const
Добавляет ссылку на строку в string и возвращает новую ссылку на объединенные данные строки.
const QChar QStringRef::at(int position) const
Возвращает символ по заданному индексу position в строке-ссылке.
position должен быть допустимым индексом позиции в строке (т.е. 0 <= position < size()).
QChar QStringRef::back() const
Возвращает последний символ в строке. То же, что и at(size() - 1).
Эта функция предоставляется для совместимости со STL.
Предупреждение: Вызов этой функции для пустой строки приводит к неопределённому поведению.
Эта функция была представлена в Qt 5.10.
См. также front(), at() и operator[]().
QStringRef::const_iterator QStringRef::begin() const
Возвращает const-итератор в стиле STL, указывающий на первый символ в строке.
Эта функция была представлена в Qt 5.4.
См. также cbegin(), constBegin(), end(), constEnd(), rbegin() и rend().
QStringRef::const_iterator QStringRef::cbegin() const
Аналогично begin().
Эта функция была представлена в Qt 5.4.
См. также begin(), constBegin(), cend(), constEnd(), rbegin() и rend().
QStringRef::const_iterator QStringRef::cend() const
Аналогично end().
Эта функция была представлена в Qt 5.4.
См. также end(), constEnd(), cbegin(), constBegin(), rbegin() и rend().
void QStringRef::chop(int n)
Удаляет n символов из конца строки.
Если n больше или равно size(), результат — пустая строка; если n отрицательно, это эквивалентно передаче нуля.
Эта функция была представлена в Qt 5.8.
См. также QString::chop() и truncate().
QStringRef QStringRef::chopped(int len) const
Возвращает ссылку на подстроку на size() - len левых символов этой строки.
Примечание: Поведение неопределено, если len отрицательно или больше size().
Эта функция была представлена в Qt 5.10.
См. также endsWith(), left(), right(), mid(), chop() и truncate().
void QStringRef::clear()
Очищает содержимое ссылки на строку, сделав её нулевой и пустой.
См. также isEmpty() и isNull().
[static] int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = ...)
Сравнивает строку s1 со строкой s2 и возвращает целое число меньше, равно или больше нуля, если s1 меньше, равна или больше s2.
Если cs имеет значение Qt::CaseSensitive, сравнение выполняется с учетом регистра; в противном случае сравнение выполняется без учета регистра.
Эта функция была представлена в Qt 4.5.
int QStringRef::compare(const QString &other, Qt::CaseSensitivity cs = ...) const
Это перегруженная функция.
Сравнивает эту строку со строкой other и возвращает целое число меньше, равно или больше нуля, если эта строка меньше, равна или больше строки other.
Если cs имеет значение Qt::CaseSensitive, сравнение выполняется с учетом регистра; в противном случае сравнение выполняется без учета регистра.
Эквивалентно compare(*this, other, cs).
Эта функция была представлена в Qt 4.5.
int QStringRef::compare(const QStringRef &other, Qt::CaseSensitivity cs = ...) const
Это перегруженная функция.
Сравнивает эту строку со строкой other и возвращает целое число меньше, равно или больше нуля, если эта строка меньше, равна или больше строки other.
Если cs имеет значение Qt::CaseSensitive, сравнение выполняется с учетом регистра; в противном случае сравнение выполняется без учета регистра.
Эквивалентно compare(*this, other, cs).
Эта функция была представлена в Qt 4.5.
int QStringRef::compare(QLatin1String other, Qt::CaseSensitivity cs = ...) const
Это перегруженная функция.
Сравнивает эту строку с другой строкой и возвращает целое число, меньшее, равное или больше нуля, если эта строка меньше, равна или больше другой строки.
Если cs равно Qt::CaseSensitive, сравнение выполняется с учетом регистра; в противном случае сравнение выполняется без учета регистра.
Эквивалентно compare(*this, other, cs).
Функция была добавлена в Qt 4.5.
int QStringRef::compare(const QByteArray &other, Qt::CaseSensitivity cs = ...) const
Это перегруженная функция.
Сравнивает эту строку с other и возвращает целое число, меньшее, равное или больше нуля, если эта строка меньше, равна или больше массива байтов other, интерпретируемого как последовательность UTF-8.
Если cs равно Qt::CaseSensitive, сравнение выполняется с учетом регистра; в противном случае сравнение выполняется без учета регистра.
Эквивалентно compare(*this, other, cs).
Функция была добавлена в Qt 5.8.
[static] int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = ...)
Это перегруженная функция.
Сравнивает строку s1 со строкой s2 и возвращает целое число, меньшее, равное или больше нуля, если s1 меньше, равна или больше s2.
Если cs равно Qt::CaseSensitive, сравнение выполняется с учетом регистра; в противном случае сравнение выполняется без учета регистра.
Функция была добавлена в Qt 4.5.
[static] int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = ...)
Это перегруженная функция.
Сравнивает строку s1 со строкой s2 и возвращает целое число, меньшее, равное или больше нуля, если s1 меньше, равна или больше s2.
Если cs равно Qt::CaseSensitive, сравнение выполняется с учетом регистра; в противном случае сравнение выполняется без учета регистра.
Функция была добавлена в Qt 4.5.
QStringRef::const_iterator QStringRef::constBegin() const
То же, что и begin().
Функция была добавлена в Qt 5.9.
См. также begin(), cend(), constEnd(), rbegin(), и rend().
const QChar *QStringRef::constData() const
То же, что и unicode().
QStringRef::const_iterator QStringRef::constEnd() const
То же, что и end().
Функция была добавлена в Qt 5.9.
См. также end(), cend(), cbegin(), constBegin(), rbegin(), и rend().
bool QStringRef::contains(const QString &str, Qt::CaseSensitivity cs = ...) const
Возвращает true если эта строковая ссылка содержит вхождение строки str; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск выполняется с учетом регистра; в противном случае поиск выполняется без учета регистра.
Функция была добавлена в Qt 4.8.
См. также indexOf() и count().
bool QStringRef::contains(QChar ch, Qt::CaseSensitivity cs = ...) const
Эта функция перегружает contains().
Возвращает true если эта строка содержит вхождение символа ch; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск выполняется с учетом регистра; в противном случае поиск выполняется без учета регистра.
Функция была добавлена в Qt 4.8.
bool QStringRef::contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает contains().
Возвращает true если эта строковая ссылка содержит вхождение строки str; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск выполняется с учетом регистра; в противном случае поиск выполняется без учета регистра.
Функция была добавлена в Qt 4.8.
См. также indexOf() и count().
bool QStringRef::contains(const QStringRef &str, Qt::CaseSensitivity cs = ...) const
Эта функция перегружает contains().
Возвращает true если эта строковая ссылка содержит вхождение строковой ссылки str; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск выполняется с учетом регистра; в противном случае поиск выполняется без учета регистра.
Функция была добавлена в Qt 4.8.
См. также indexOf() и count().
int QStringRef::count() const
Возвращает количество символов, на которые ссылается строковая ссылка. Эквивалентно size() и length().
См. также position() и string().
int QStringRef::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Возвращает количество (возможно перекрывающихся) вхождений строки str в этой строковой ссылке.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск выполняется с учетом регистра; в противном случае поиск выполняется без учета регистра.
Функция была добавлена в Qt 4.8.
См. также QString::count(), contains(), и indexOf().
int QStringRef::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает count().
Возвращает количество вхождений символа ch в строковой ссылке.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск выполняется с учетом регистра; в противном случае поиск выполняется без учета регистра.
Функция была добавлена в Qt 4.8.
См. также QString::count(), contains(), и indexOf().
int QStringRef::count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает count().
Возвращает количество (возможно перекрывающихся) вхождений строковой ссылки str в этой строковой ссылке.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск выполняется с учетом регистра; в противном случае поиск выполняется без учета регистра.
Функция была добавлена в Qt 4.8.
См. также QString::count(), contains(), и indexOf().
QStringRef::const_reverse_iterator QStringRef::crbegin() const
То же, что и rbegin().
Функция была добавлена в Qt 5.7.
См. также begin(), rbegin(), и rend().
QStringRef::const_reverse_iterator QStringRef::crend() const
То же, что и rend().
Функция была добавлена в Qt 5.7.
См. также end(), rend(), и rbegin().
const QChar *QStringRef::data() const
То же, что и unicode().
QStringRef::const_iterator QStringRef::end() const
Возвращает константный итератор STL-стиля, указывающий на воображаемый символ после последнего символа в списке.
Функция была добавлена в Qt 5.4.
См. также cbegin(), constBegin(), end(), constEnd(), rbegin(), и rend().
bool QStringRef::endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Возвращает true если строковая ссылка оканчивается на str; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Эта функция была представлена в Qt 4.8.
См. также QString::endsWith() и startsWith().
bool QStringRef::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает endsWith().
Эта функция была представлена в Qt 5.10.
См. также QString::endsWith() и startsWith().
bool QStringRef::endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает endsWith().
Эта функция была представлена в Qt 4.8.
См. также QString::endsWith() и endsWith().
bool QStringRef::endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает endsWith().
Возвращает true если строковая ссылка заканчивается на ch; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Эта функция была представлена в Qt 4.8.
См. также QString::endsWith() и endsWith().
bool QStringRef::endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает endsWith().
Эта функция была представлена в Qt 4.8.
См. также QString::endsWith() и endsWith().
QChar QStringRef::front() const
Возвращает первый символ в строке. То же, что и at(0).
Эта функция предоставлена для совместимости со STL.
Предупреждение: Вызов этой функции для пустой строки приводит к неопределённому поведению.
Эта функция была представлена в Qt 5.10.
См. также back(), at(), и operator[]().
int QStringRef::indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Возвращает индекс первого вхождения строки str в этой строковой ссылке, выполняя поиск вперёд с индекса from. Возвращает -1, если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Если from равно -1, поиск начинается с последнего символа; если -2, со следующего за последним и так далее.
Эта функция была представлена в Qt 4.8.
См. также QString::indexOf(), lastIndexOf(), contains(), и count().
int QStringRef::indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает indexOf().
Возвращает индекс первого вхождения символа ch в строковой ссылке, выполняя поиск вперёд с индекса from. Возвращает -1, если ch не найдено.
Эта функция была представлена в Qt 4.8.
См. также QString::indexOf(), lastIndexOf(), contains(), и count().
int QStringRef::indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Возвращает индекс первого вхождения строки str в этой строковой ссылке, выполняя поиск вперёд с индекса from. Возвращает -1, если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Если from равно -1, поиск начинается с последнего символа; если -2, со следующего за последним и так далее.
Эта функция была представлена в Qt 4.8.
См. также QString::indexOf(), lastIndexOf(), contains(), и count().
int QStringRef::indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает indexOf().
Возвращает индекс первого вхождения строковой ссылки str в эту строковую ссылку, выполняя поиск вперёд с индекса from. Возвращает -1, если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Эта функция была представлена в Qt 4.8.
См. также QString::indexOf(), lastIndexOf(), contains(), и count().
bool QStringRef::isEmpty() const
Возвращает true если строковая ссылка не содержит символов; в противном случае возвращает false.
Строковая ссылка пуста, если её размер равен нулю.
См. также size().
bool QStringRef::isNull() const
Возвращает true если эта строковая ссылка не ссылается на строку или если строка, на которую она ссылается, равна null (т. е. QString::isNull() равно true).
См. также size().
bool QStringRef::isRightToLeft() const
Возвращает true если строка читается справа налево.
Эта функция была представлена в Qt 5.9.
См. также QString::isRightToLeft().
int QStringRef::lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Возвращает индекс последнего вхождения строки str в этой строковой ссылке, выполняя поиск назад с индекса from. Если from равно -1 (по умолчанию), поиск начинается с последнего символа; если from равно -2, со следующего за последним и так далее. Возвращает -1, если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Эта функция была представлена в Qt 4.8.
См. также QString::lastIndexOf(), indexOf(), contains(), и count().
int QStringRef::lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает lastIndexOf().
Возвращает индекс последнего вхождения символа ch, выполняя поиск назад с позиции from.
Эта функция была представлена в Qt 4.8.
См. также QString::lastIndexOf(), indexOf(), contains(), и count().
int QStringRef::lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает lastIndexOf().
Возвращает индекс последнего вхождения строки str в этой строке, выполняя поиск назад с индекса from. Если from равно -1 (по умолчанию), поиск начинается с последнего символа; если from равно -2, с предпоследнего символа и так далее. Возвращает -1, если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Функция была представлена в Qt 4.8.
См. также QString::lastIndexOf(), indexOf(), contains(), и count().
int QStringRef::lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает lastIndexOf().
Возвращает индекс последнего вхождения ссылки на строку str в этой строке, выполняя поиск назад с индекса from. Если from равно -1 (по умолчанию), поиск начинается с последнего символа; если from равно -2, с предпоследнего символа и так далее. Возвращает -1, если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Функция была представлена в Qt 4.8.
См. также QString::lastIndexOf(), indexOf(), contains(), и count().
QStringRef QStringRef::left(int n) const
Возвращает ссылку на подстроку, содержащую n левых символов строки.
Если n больше или равно size(), или меньше нуля, возвращается ссылка на всю строку.
Функция была представлена в Qt 5.2.
См. также right(), mid(), startsWith(), chopped(), chop(), и truncate().
int QStringRef::length() const
Возвращает количество символов, на которые ссылается ссылка на строку. Эквивалентно size() и count().
См. также position() и string().
[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2)
Сравнивает s1 с s2 и возвращает целое число, меньшее, равное или больше нуля, если s1 меньше, равна или больше s2 соответственно.
Сравнение выполняется с учетом локали и платформы. Используйте эту функцию для отображения отсортированных списков строк пользователю.
На macOS и iOS эта функция сравнивает в соответствии с настройкой "Порядок для отсортированных списков" в панели "Международные предпочтения".
Функция была представлена в Qt 4.5.
См. также compare() и QLocale.
int QStringRef::localeAwareCompare(const QString &other) const
Это перегруженная функция.
Сравнивает эту строку с строкой other и возвращает целое число, меньшее, равное или больше нуля, если эта строка меньше, равна или больше строки other соответственно.
Сравнение выполняется с учетом локали и платформы. Используйте эту функцию для отображения отсортированных списков строк пользователю.
Функция была представлена в Qt 4.5.
int QStringRef::localeAwareCompare(const QStringRef &other) const
Это перегруженная функция.
Сравнивает эту строку со строкой other и возвращает целое число, меньшее, равное или больше нуля, если эта строка меньше, равна или больше строки other соответственно.
Сравнение выполняется с учетом локали и платформы. Используйте эту функцию для отображения отсортированных списков строк пользователю.
Функция была представлена в Qt 4.5.
[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2)
Это перегруженная функция.
Сравнивает s1 с s2 и возвращает целое число, меньшее, равное или больше нуля, если s1 меньше, равна или больше s2 соответственно.
Сравнение выполняется с учетом локали и платформы. Используйте эту функцию для отображения отсортированных списков строк пользователю.
Функция была представлена в Qt 4.5.
QStringRef QStringRef::mid(int position, int n = ...) const
Возвращает ссылку на подстроку длиной n символов, начиная с указанной позиции position.
Если position превышает длину строки, возвращается нулевая ссылка.
Если в строке доступно меньше чем n символов, начиная с заданной позиции position, или если n равно -1 (по умолчанию), функция возвращает все символы, начиная с заданной позиции.
Функция была представлена в Qt 5.2.
См. также left(), right(), chopped(), chop(), и truncate().
int QStringRef::position() const
Возвращает начальную позицию в ссылаемой строке, на которую ссылается ссылка на строку.
QStringRef::const_reverse_iterator QStringRef::rbegin() const
Возвращает обратный итератор типа STL, указывающий на первый символ в строке в обратном порядке.
Функция была представлена в Qt 5.7.
См. также begin(), crbegin(), и rend().
QStringRef::const_reverse_iterator QStringRef::rend() const
Возвращает обратный итератор типа STL, указывающий на позицию после последнего символа в строке в обратном порядке.
Функция была представлена в Qt 5.7.
См. также end(), crend(), и rbegin().
QStringRef QStringRef::right(int n) const
Возвращает ссылку на подстроку, содержащую n правых символов строки.
Если n больше или равно size(), или меньше нуля, возвращается ссылка на всю строку.
Функция была представлена в Qt 5.2.
См. также left(), mid(), endsWith(), chopped(), chop(), и truncate().
int QStringRef::size() const
Возвращает количество символов, на которые ссылается ссылка на строку. Эквивалентно length() и count().
См. также position() и string().
QVector<QStringRef> QStringRef::split(const QString &sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Разделяет строку на подстроки там, где встречается sep, и возвращает список этих строк.
См. QString::split() для того, как sep, behavior и cs взаимодействуют, чтобы сформировать результат.
Примечание: Все ссылки действительны, пока эта строка существует. Уничтожение этой строки приведет к тому, что все ссылки станут висячими указателями.
Функция была представлена в Qt 5.4.
QVector<QStringRef> QStringRef::split(QChar sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Это перегруженная функция.
Функция была представлена в Qt 5.4.
bool QStringRef::startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Возвращает true если ссылка на строку начинается со строки str; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае поиск регистронезависимый.
Функция была представлена в Qt 4.8.
См. также QString::startsWith() и endsWith().
bool QStringRef::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает startsWith().
Эта функция была добавлена в Qt 5.10.
См. также QString::startsWith() и endsWith().
bool QStringRef::startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает startsWith().
Эта функция была добавлена в Qt 4.8.
См. также QString::startsWith() и endsWith().
bool QStringRef::startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает startsWith().
Возвращает true, если строка-ссылка начинается с ch; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), поиск регистрозависимый; в противном случае — регистронезависимый.
Эта функция была добавлена в Qt 4.8.
См. также QString::startsWith() и endsWith().
bool QStringRef::startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает startsWith().
Эта функция была добавлена в Qt 4.8.
См. также QString::startsWith() и endsWith().
const QString *QStringRef::string() const
Возвращает указатель на строку, на которую ссылается ссылка на строку, или 0, если она не ссылается на строку.
См. также unicode().
double QStringRef::toDouble(bool *ok = nullptr) const
Возвращает строку, преобразованную в значение double.
Возвращает бесконечность, если преобразование переполнилось, или 0.0, если преобразование завершилось неудачно по другим причинам (например, при потере значимости).
Если ok не равен nullptr, неудача отражается установкой *ok в false, а успех — в true.
Преобразование строки всегда происходит в локали 'C'. Для преобразования, зависящего от локали, используйте QLocale::toDouble().
По историческим причинам, эта функция не обрабатывает разделители тысяч. Если вам нужно преобразовывать такие числа, используйте QLocale::toDouble().
Эта функция была добавлена в Qt 5.1.
См. также QString::toDouble().
float QStringRef::toFloat(bool *ok = nullptr) const
Возвращает строку, преобразованную в значение float.
Возвращает бесконечность, если преобразование переполнилось, или 0.0, если преобразование завершилось неудачно по другим причинам (например, при потере значимости).
Если ok не равен nullptr, неудача отражается установкой *ok в false, а успех — в true.
Преобразование строки всегда происходит в локали 'C'. Для преобразования, зависящего от локали, используйте QLocale::toFloat().
Эта функция была добавлена в Qt 5.1.
См. также QString::toFloat().
int QStringRef::toInt(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в целое число int с основанием base, по умолчанию 10, и значением от 2 до 36 или 0. Возвращает 0, если преобразование завершилось неудачно.
Если ok не равен nullptr, неудача отражается установкой *ok в false, а успех — в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если с "0", используется основание 8; в противном случае — основание 10.
Преобразование строки всегда происходит в локали 'C'. Для преобразования, зависящего от локали, используйте QLocale::toInt().
Эта функция была добавлена в Qt 5.1.
См. также QString::toInt().
QByteArray QStringRef::toLatin1() const
Возвращает латинско-1 представление строки в виде QByteArray.
Возвращаемый массив байтов не определен, если строка содержит символы, не относящиеся к латинско-1. Такие символы могут быть подавлены или заменены вопросительным знаком.
Эта функция была добавлена в Qt 4.8.
См. также toUtf8(), toLocal8Bit(), и QTextCodec.
QByteArray QStringRef::toLocal8Bit() const
Возвращает локальное 8-битное представление строки в виде QByteArray. Возвращаемый массив байтов не определен, если строка содержит символы, не поддерживаемые локальной 8-битной кодировкой.
QTextCodec::codecForLocale() используется для преобразования из Юникода. Если кодировка локали не может быть определена, эта функция делает то же, что и toLatin1().
Если эта строка содержит символы, которые не могут быть закодированы в кодировке локали, возвращаемый массив байтов не определен. Такие символы могут быть подавлены или заменены другим.
Эта функция была добавлена в Qt 4.8.
См. также toLatin1(), toUtf8(), и QTextCodec.
long QStringRef::toLong(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в значение long с основанием base, по умолчанию 10, и значением от 2 до 36 или 0. Возвращает 0, если преобразование завершилось неудачно.
Если ok не равен nullptr, неудача отражается установкой *ok в false, а успех — в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если с "0", используется основание 8; в противном случае — основание 10.
Преобразование строки всегда происходит в локали 'C'. Для преобразования, зависящего от локали, используйте QLocale::toLong().
Эта функция была добавлена в Qt 5.1.
См. также QString::toLong().
qlonglong QStringRef::toLongLong(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в значение long long с основанием base, по умолчанию 10, и значением от 2 до 36 или 0. Возвращает 0, если преобразование завершилось неудачно.
Если ok не равен nullptr, неудача отражается установкой *ok в false, а успех — в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если с "0", используется основание 8; в противном случае — основание 10.
Преобразование строки всегда происходит в локали 'C'. Для преобразования, зависящего от локали, используйте QLocale::toLongLong().
Эта функция была добавлена в Qt 5.1.
См. также QString::toLongLong().
short QStringRef::toShort(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в короткое целое short с основанием base, по умолчанию 10, и значением от 2 до 36 или 0. Возвращает 0, если преобразование завершилось неудачно.
Если ok не равен nullptr, неудача отражается установкой *ok в false, а успех — в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если с "0", используется основание 8; в противном случае — основание 10.
Преобразование строки всегда происходит в локали 'C'. Для преобразования, зависящего от локали, используйте QLocale::toShort().
Эта функция была добавлена в Qt 5.1.
См. также QString::toShort().
QString QStringRef::toString() const
Возвращает копию ссылки на строку как объект QString.
Если ссылка на строку не является полной ссылкой на строку (то есть position() равно 0, а size() равно string()->size()), эта функция выделит новую строку для возврата.
См. также string().
uint QStringRef::toUInt(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в беззнаковое целое unsigned int с основанием base, по умолчанию 10, и значением от 2 до 36 или 0. Возвращает 0, если преобразование завершилось неудачно.
Если ok не равен nullptr, неудача отражается установкой *ok в false, а успех — в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если строка начинается с "0", используется основание 8; в противном случае используется основание 10.
Преобразование строки всегда происходит в локали 'C'. Для локализованного преобразования используйте QLocale::toUInt()
Эта функция была добавлена в Qt 5.1.
См. также QString::toUInt().
ulong QStringRef::toULong(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в unsigned long, используя основание base, которое по умолчанию равно 10 и должно быть в диапазоне от 2 до 36 или 0. Возвращает 0, если преобразование не удалось.
Если ok не nullptr, ошибка сообщается, устанавливая *ok в false, а успех — устанавливая *ok в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если строка начинается с "0", используется основание 8; в противном случае используется основание 10.
Преобразование строки всегда происходит в локали 'C'. Для локализованного преобразования используйте QLocale::toULongLong()
Эта функция была добавлена в Qt 5.1.
См. также QString::toULong().
qulonglong QStringRef::toULongLong(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в unsigned long long используя основание base, которое по умолчанию равно 10 и должно быть в диапазоне от 2 до 36 или 0. Возвращает 0, если преобразование не удалось.
Если ok не nullptr, ошибка сообщается, устанавливая *ok в false, а успех — устанавливая *ok в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если строка начинается с "0", используется основание 8; в противном случае используется основание 10.
Преобразование строки всегда происходит в локали 'C'. Для локализованного преобразования используйте QLocale::toULongLong()
Эта функция была добавлена в Qt 5.1.
См. также QString::toULongLong().
ushort QStringRef::toUShort(bool *ok = nullptr, int base = 10) const
Возвращает строку, преобразованную в unsigned short, используя основание base, которое по умолчанию равно 10 и должно быть в диапазоне от 2 до 36 или 0. Возвращает 0, если преобразование не удалось.
Если ok не nullptr, ошибка сообщается, устанавливая *ok в false, а успех — устанавливая *ok в true.
Если base равно 0, используется соглашение языка C: если строка начинается с "0x", используется основание 16; если строка начинается с "0", используется основание 8; в противном случае используется основание 10.
Преобразование строки всегда происходит в локали 'C'. Для локализованного преобразования используйте QLocale::toUShort()
Эта функция была добавлена в Qt 5.1.
См. также QString::toUShort().
QVector<uint> QStringRef::toUcs4() const
Возвращает представление строки в UCS-4/UTF-32 в виде QVector<uint>.
UCS-4 — это кодек Юникода, поэтому он без потерь. Все символы из этой строки будут закодированы в UCS-4. Любая недопустимая последовательность кодовых единиц в этой строке заменяется замещающим символом Юникода (QChar::ReplacementCharacter, который соответствует U+FFFD).
Возвращаемый вектор не завершается символом '\0'.
Эта функция была добавлена в Qt 4.8.
См. также toUtf8(), toLatin1(), toLocal8Bit(), и QTextCodec.
QByteArray QStringRef::toUtf8() const
Возвращает UTF-8 представление строки в виде QByteArray.
UTF-8 — это кодек Юникода и может представлять все символы в строке Юникода, как в QString.
Эта функция была добавлена в Qt 4.8.
См. также toLatin1(), toLocal8Bit(), и QTextCodec.
QStringRef QStringRef::trimmed() const
Возвращает строку с удалёнными начальными и конечными пробелами.
Пробелы — это любые символы, для которых QChar::isSpace() возвращает true. Это включает символы ASCII '\t', '\n', '\v', '\f', '\r' и ' '.
В отличие от QString::simplified(), trimmed() оставляет внутренние пробелы без изменений.
Эта функция была добавлена в Qt 5.1.
См. также QString::trimmed().
void QStringRef::truncate(int position)
Усекает строку по указанному индексу position.
Если указанный индекс position выходит за пределы строки, ничего не происходит.
Если position отрицателен, он эквивалентен нулю.
Эта функция была добавлена в Qt 5.6.
См. также QString::truncate().
const QChar *QStringRef::unicode() const
Возвращает представление строки в Юникоде. Поскольку данные берутся непосредственно из ссылаемой строки, она не завершается '\0', если только ссылка не включает завершающий нуль строки.
См. также string().
bool QStringRef::operator!=(const char *s) const
Эта функция перегружает оператор!=().
Указатель s const char преобразуется в QStringRef с помощью функции fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции приложений. Это может быть полезно, если вы хотите убедиться, что все отображаемые пользователю строки проходят через QObject::tr(), например.
Возвращает true если эта строка не лексически равна строке-параметру s. В противном случае возвращает false.
См. также QT_NO_CAST_FROM_ASCII.
bool QStringRef::operator<(const char *s) const
Эта функция перегружает оператор<().
Указатель s const char преобразуется в QStringRef с помощью функции fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции приложений. Это может быть полезно, если вы хотите убедиться, что все отображаемые пользователю строки проходят через QObject::tr(), например.
Возвращает true если эта строка лексически меньше строки-параметра s. В противном случае возвращает false.
См. также QT_NO_CAST_FROM_ASCII.
bool QStringRef::operator<=(const char *s) const
Эта функция перегружает оператор<=().
Указатель s const char преобразуется в QStringRef с помощью функции fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции приложений. Это может быть полезно, если вы хотите убедиться, что все отображаемые пользователю строки проходят через QObject::tr(), например.
Возвращает true если эта строка лексически меньше или равна строке-параметру s. В противном случае возвращает false.
См. также QT_NO_CAST_FROM_ASCII.
QStringRef &QStringRef::operator=(const QString *string)
Создаёт ссылку на строку string и присваивает её этой строковой ссылке, возвращая результат.
bool QStringRef::operator==(const char *s) const
Эта функция перегружает оператор==().
Массив байтов s преобразуется в QStringRef с помощью функции fromUtf8(). Функция останавливает преобразование при первом найденном символе NUL или в конце массива байтов.
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции приложений. Это может быть полезно, если вы хотите убедиться, что все отображаемые пользователю строки проходят через QObject::tr(), например.
Возвращает true если эта строка лексически равна строке-параметру s. В противном случае возвращает false.
См. также QT_NO_CAST_FROM_ASCII.
bool QStringRef::operator>(const char *s) const
Эта функция перегружает оператор>().
Указатель s const char преобразуется в QStringRef с помощью функции fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции приложений. Это может быть полезно, если вы хотите убедиться, что все отображаемые пользователю строки проходят через QObject::tr(), например.
Возвращает true если эта строка лексически больше строки-параметра s. В противном случае возвращает false.
См. также QT_NO_CAST_FROM_ASCII.
bool QStringRef::operator>=(const char *s) const
Эта функция перегружает оператор>=().
Указатель s const char преобразуется в QStringRef с помощью функции fromUtf8().
END_OF_DOCUMENT_MARKERВы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции ваших приложений. Это может быть полезно, если вы хотите убедиться, что все отображаемые пользователю строки проходят через QObject::tr(), например.
Возвращает true если эта строка лексически больше или равна параметру строки s. В противном случае возвращает false.
См. также QT_NO_CAST_FROM_ASCII.
QChar QStringRef::operator[](int position) const
Возвращает символ по заданному индексу position в строковой ссылке.
position должен быть допустимым индексом в строковой ссылке (т.е., 0 <= position < size()).
Эта функция была добавлена в Qt 5.7.
См. также at().
Связанные нечленные функции
bool QStringRef::operator<(const QStringRef &s1, const QStringRef &s2)
Возвращает true если строковая ссылка s1 лексически меньше строковой ссылки s2; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Юникода символов и очень быстрое, но не такое, как ожидалось от человека. Для сортировки строк пользовательского интерфейса используйте функцию QString::localeAwareCompare().
bool QStringRef::operator<=(const QStringRef &s1, const QStringRef &s2)
Возвращает true если строковая ссылка s1 лексически меньше или равна строковой ссылке s2; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Юникода символов и очень быстрое, но не такое, как ожидалось от человека. Для сортировки строк пользовательского интерфейса используйте функцию QString::localeAwareCompare().
bool QStringRef::operator==(const QStringRef &s1, const QStringRef &s2)
Возвращает true если строковая ссылка s1 лексически равна строковой ссылке s2; в противном случае возвращает false.
bool QStringRef::operator==(const QString &s1, const QStringRef &s2)
Возвращает true если строка s1 лексически равна строковой ссылке s2; в противном случае возвращает false.
bool QStringRef::operator==(QLatin1String s1, const QStringRef &s2)
Возвращает true если строка s1 лексически равна строковой ссылке s2; в противном случае возвращает false.
bool QStringRef::operator>(const QStringRef &s1, const QStringRef &s2)
Возвращает true если строковая ссылка s1 лексически больше строковой ссылки s2; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Юникода символов и очень быстрое, но не такое, как ожидалось от человека. Для сортировки строк пользовательского интерфейса используйте функцию QString::localeAwareCompare().
bool QStringRef::operator>=(const QStringRef &s1, const QStringRef &s2)
Возвращает true если строковая ссылка s1 лексически больше или равна строковой ссылке s2; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Юникода символов и очень быстрое, но не такое, как ожидалось от человека. Для сортировки строк пользовательского интерфейса используйте функцию QString::localeAwareCompare().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qstringref.html