Класс 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 |
| 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 QStringRef &other, Qt::CaseSensitivity cs = ...) const |
| int | compare(QLatin1String other, Qt::CaseSensitivity cs = ...) const |
| int | compare(const QByteArray &other, Qt::CaseSensitivity cs = ...) const |
| int | compare(const QString &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(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QStringView str, 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 QStringRef &other) const |
| int | localeAwareCompare(const QString &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 | начинаетсяС(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | начинаетсяС(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | начинаетсяС(QStringView str, 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=(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 = ...) |
| 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 предоставляет тонкий обертывающий слой над подстроками QString.
QStringRef предоставляет только для чтения подмножество API QString.
Ссылка на строку явно ссылается на часть строки() заданного размера, начиная со специфической позиции. Вызов toString() возвращает копию данных как экземпляр QString.
Этот класс разработан для повышения производительности обработки подстрок при манипулировании подстроками, полученными из существующих экземпляров QString. QStringRef избегает выделения памяти и накладных расходов на подсчет ссылок стандартного QString, просто ссылаясь на часть исходной строки. Это может быть выгодно в коде низкого уровня, таком как код парсера, ценой потенциально более сложного кода.
Для большинства пользователей нет семантических преимуществ использования QStringRef вместо QString, поскольку QStringRef требует внимания к проблемам управления памятью, что потенциально усложняет написание и поддержку кода.
Предупреждение: QStringRef допустима только до тех пор, пока существует ссылка на строку. Если исходная строка удалена, ссылка на строку указывает на недопустимое местоположение в памяти.
Мы рекомендуем использовать этот класс только в стабильном коде, где профилирование четко выявило, что улучшение производительности может быть достигнуто заменой стандартных операций со строками на оптимизированную обработку подстрок, предоставляемую этим классом.
См. также Неявное совместное использование.
Документация типов членов
typedef QStringRef::const_iterator
Этот typedef предоставляет итератор const для QStringRef в стиле STL.
Этот typedef был представлен в Qt 5.4.
См. также QStringRef::const_reverse_iterator.
typedef QStringRef::const_reverse_iterator
Этот typedef предоставляет обратный итератор const для QStringRef в стиле STL.
Этот 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()).
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
Возвращает ссылку на подстроку на len символов слева от этого размера строки.
Примечание: Поведение неопределено, если len отрицательное или больше size().
Эта функция была представлена в Qt 5.10.
См. также endsWith(), left(), right(), mid(), chop() и truncate().
void QStringRef::clear()
Очищает содержимое ссылки на строку, сделав её пустой и нулевой.
См. также isEmpty() и isNull().
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 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
Это перегруженная функция.
Сравнивает эту строку со строкой other и возвращает целое число меньше, равно или больше нуля, если эта строка меньше, равна или больше строки other.
Если 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.
int QStringRef::compare(const QString &other, Qt::CaseSensitivity cs = ...) const
Это перегруженная функция.
Сравнивает эту строку со строкой other и возвращает целое число меньше, равно или больше нуля, если эта строка меньше, равна или больше, чем строка other.
Если cs равен Qt::CaseSensitive, сравнение выполняется с учётом регистра; в противном случае сравнение выполняется без учёта регистра.
Эквивалентно compare(*this, other, cs).
Эта функция была добавлена в Qt 4.5.
[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().
END_OF_DOCUMENT_MARKERbool 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(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает endsWith().
Эта функция была добавлена в Qt 5.10.
См. также QString::endsWith() и startsWith().
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 , если string() возвращает указатель null или указатель на пустую строку; в противном случае возвращает 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().
END_OF_DOCUMENT_MARKERint 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 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 = ...) const
Возвращает подстроковую ссылку на n символов этой строки, начиная с указанной position.
Если position превышает длину строки, возвращается пустая ссылка.
Если в строке доступно меньше n символов, начиная с заданной position, или если n равно -1 (по умолчанию), функция возвращает все символы, начиная с указанной position.
Эта функция была добавлена в 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(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(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Эта функция перегружает startsWith().
Эта функция была добавлена в Qt 5.10.
См. также 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, а успех — путём установки *ok в 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, а успех — путём установки *ok в 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, а успех — путём установки *ok в 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, а успех — путём установки *ok в 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, а успех — путём установки *ok в 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, а успех — путём установки *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 = nullptr, int base = 10) const
Возвращает строку, преобразованную в unsigned int с основанием base, которое по умолчанию равно 10 и должно быть в диапазоне от 2 до 36 или 0. Возвращает 0, если преобразование не удалось.
Если ok не nullptr, неудача сообщается путём установки *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 = 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 — это кодировка 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.
Сравнение основано исключительно на числовых значениях Юникода символов и очень быстрое, но не соответствует ожиданиям человека. Для сортировки строк пользовательского интерфейса используйте функцию QString::localeAwareCompare().
bool operator<=(const QStringRef &s1, const QStringRef &s2)
Возвращает true, если строковая ссылка s1 лексически меньше или равна строковой ссылке s2; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Юникода символов и очень быстрое, но не соответствует ожиданиям человека. Для сортировки строк пользовательского интерфейса используйте функцию 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.
Сравнение основано исключительно на числовых значениях Юникода символов и очень быстрое, но не соответствует ожиданиям человека. Для сортировки строк пользовательского интерфейса используйте функцию QString::localeAwareCompare().
bool 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/archives/qt-5.11/qstringref.html