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