Класс QByteArrayMatcher
Класс QByteArrayMatcher хранит последовательность байтов, которые можно быстро сопоставить в массиве байтов. Подробнее...
| Заголовок: | #include <QByteArrayMatcher> |
| qmake: | QT += core |
Открытые функции
| QByteArrayMatcher() | |
| QByteArrayMatcher(const QByteArray &pattern) | |
| QByteArrayMatcher(const char *pattern, int length) | |
| QByteArrayMatcher(const QByteArrayMatcher &other) | |
| ~QByteArrayMatcher() | |
| int | indexIn(const QByteArray &ba, int from = 0) const |
| int | indexIn(const char *str, int len, int from = 0) const |
| QByteArray | pattern() const |
| void | setPattern(const QByteArray &pattern) |
| QByteArrayMatcher & | operator=(const QByteArrayMatcher &other) |
Подробное описание
Класс QByteArrayMatcher хранит последовательность байтов, которые можно быстро сопоставить в массиве байтов.
Этот класс полезен, когда у вас есть последовательность байтов, которую вы хотите многократно сопоставлять с некоторыми массивами байтов (возможно, в цикле), или когда вы хотите искать ту же последовательность байтов несколько раз в одном массиве байтов. Использование объекта сопоставителя и indexIn() быстрее, чем сопоставление обычного QByteArray с QByteArray::indexOf(), если повторяющееся сопоставление происходит многократно. Этот класс не предлагает никаких преимуществ, если вы выполняете однократные сопоставления массивов байтов.
Создайте QByteArrayMatcher с QByteArray, которую вы хотите найти. Затем вызовите indexIn() для QByteArray, которую вы хотите найти.
См. также QByteArray и QStringMatcher.
Документация по функциям-членам
QByteArrayMatcher::QByteArrayMatcher()
Конструирует пустой сопоставитель массивов байтов, который ничего не будет сопоставлять. Вызовите setPattern(), чтобы задать ему шаблон для сопоставления.
QByteArrayMatcher::QByteArrayMatcher(const QByteArray &pattern)
Конструирует сопоставитель массивов байтов, который будет искать pattern. Вызовите indexIn(), чтобы выполнить поиск.
QByteArrayMatcher::QByteArrayMatcher(const char *pattern, int length)
Конструирует сопоставитель массивов байтов из pattern. pattern имеет заданную длину length. pattern должен оставаться в области видимости, но деструктор не удаляет pattern.
QByteArrayMatcher::QByteArrayMatcher(const QByteArrayMatcher &other)
Копирует сопоставитель массивов байтов other в этот сопоставитель массивов байтов.
QByteArrayMatcher::~QByteArrayMatcher()
Удаляет сопоставитель массивов байтов.
int QByteArrayMatcher::indexIn(const QByteArray &ba, int from = 0) const
Ищет в массиве байтов ba, начиная с байтовой позиции from (по умолчанию 0, т. е. с первого байта), массив байтов pattern(), который был задан в конструкторе или в последнем вызове setPattern(). Возвращает позицию, где pattern() совпал в ba, или -1, если совпадение не найдено.
int QByteArrayMatcher::indexIn(const char *str, int len, int from = 0) const
Ищет в строке символов str, длина которой len, начиная с байтовой позиции from (по умолчанию 0, т. е. с первого байта), массив байтов pattern(), который был задан в конструкторе или в последнем вызове setPattern(). Возвращает позицию, где pattern() совпал в str, или -1, если совпадение не найдено.
QByteArray QByteArrayMatcher::pattern() const
Возвращает шаблон массива байтов, который этот сопоставитель массивов байтов будет искать.
См. также setPattern().
void QByteArrayMatcher::setPattern(const QByteArray &pattern)
Устанавливает массив байтов, который этот сопоставитель массивов байтов будет искать, в pattern.
См. также pattern() и indexIn().
QByteArrayMatcher &QByteArrayMatcher::operator=(const QByteArrayMatcher &other)
Присваивает сопоставитель массивов байтов other этому сопоставителю массивов байтов.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qbytearraymatcher.html