QByteArrayMatcher Class
QByteArrayMatcher クラスは、バイト配列内で高速に照合できるバイトのシーケンスを保持しています。詳細...
| ヘッダー: | #include <QByteArrayMatcher> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- QByteArrayMatcherは、文字列データ用クラスの一部です。
パブリック関数
| QByteArrayMatcher() | |
| QByteArrayMatcher(const QByteArray &pattern) | |
| QByteArrayMatcher(const char *pattern, qsizetype length = -1) | |
(since 6.3) | QByteArrayMatcher(QByteArrayView pattern) |
| QByteArrayMatcher(const QByteArrayMatcher &other) | |
| ~QByteArrayMatcher() | |
| qsizetype | indexIn(const char *str, qsizetype len, qsizetype from = 0) const |
(since 6.3) qsizetype | indexIn(QByteArrayView data, qsizetype from = 0) const |
| QByteArray | pattern() const |
| void | setPattern(const QByteArray &pattern) |
| QByteArrayMatcher & | operator=(const QByteArrayMatcher &other) |
詳細な説明
このクラスは、あるバイト配列に対して(ループ内で)バイトシーケンスを繰り返し照合したい場合や、同じバイト配列内で同じバイトシーケンスを複数回検索したい場合に役立ちます。繰り返し照合を行う場合、マッチャーオブジェクトとindexIn()を使用する方が、単純なQByteArray をQByteArray::indexOf()で照合するよりも高速です。 単発のバイト配列マッチングを行う場合、このクラスにはメリットはありません。
検索対象のQByteArray を指定して、QByteArrayMatcherを作成します。次に、検索対象のQByteArray に対してindexIn()を呼び出します。
「 QByteArray 」および「QStringMatcher 」も参照してください 。
メンバ関数のドキュメント
QByteArrayMatcher::QByteArrayMatcher()
何も一致しない空のバイト配列マッチャーを作成します。setPattern() を呼び出して、一致させるパターンを指定してください。
[explicit] QByteArrayMatcher::QByteArrayMatcher(const QByteArray &pattern)
pattern を検索するバイト配列マッチャーを構築します。検索を実行するには、indexIn() を呼び出してください。
[explicit] QByteArrayMatcher::QByteArrayMatcher(const char *pattern, qsizetype length = -1)
pattern からバイト配列のマッチャーを構築します。pattern には、指定されたlength が設定されています。検索を実行するには、indexIn() を呼び出してください。
注: このオブジェクトが使用されている間、pattern が参照しているデータは 有効なままである必要があります。
[explicit, since 6.3] QByteArrayMatcher::QByteArrayMatcher(QByteArrayView pattern)
pattern を検索するバイト配列マッチャーを構築します。検索を実行するには、indexIn() を呼び出してください。
注: pattern が参照しているデータは 、このオブジェクトが使用されている間、有効なままである必要があります。
これはオーバーロードされた関数です。
この関数は Qt 6.3 で導入されました。
QByteArrayMatcher::QByteArrayMatcher(const QByteArrayMatcher &other)
other のバイト配列マッチャーを、このバイト配列マッチャーにコピーします。
[noexcept] QByteArrayMatcher::~QByteArrayMatcher()
バイト配列マッチャーを破棄します。
qsizetype QByteArrayMatcher::indexIn(const char *str, qsizetype len, qsizetype from = 0) const
長さlen の文字列str について、バイト位置from (デフォルトは0、つまり最初のバイトから)から、コンストラクタまたは直近のsetPattern()の呼び出しで設定されたバイト配列pattern()を検索します。pattern()がstr 内で一致した位置を返します。一致が見つからない場合は-1を返します。
[since 6.3] qsizetype QByteArrayMatcher::indexIn(QByteArrayView data, qsizetype from = 0) const
バイト配列 `data` に対して、バイト位置 `from `(デフォルトは 0、つまり最初のバイトから)から、コンストラクタまたは直近の `setPattern()` の呼び出しで設定されたバイト配列 `pattern()` を検索します。`pattern()` が `data` 内で一致した位置を返します。一致する箇所が見つからなかった場合は -1 を返します。
これはオーバーロードされた関数です。
この関数は Qt 6.3 で導入されました。
QByteArray QByteArrayMatcher::pattern() const
このバイト配列マッチャーが検索対象とするバイト配列のパターンを返します。
setPattern()も参照してください 。
void QByteArrayMatcher::setPattern(const QByteArray &pattern)
このバイト配列マッチャーが検索対象とするバイト配列を、pattern に設定します。
pattern() およびindexIn()も参照してください 。
QByteArrayMatcher &QByteArrayMatcher::operator=(const QByteArrayMatcher &other)
このバイト配列マッチャーに、other のバイト配列マッチャーを割り当てます。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.