QByteArrayMatcher Class

QByteArrayMatcher クラスは、バイト配列で素早くマッチングできるバイト列を保持します。詳細...

ヘッダー #include <QByteArrayMatcher>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

パブリック関数

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() を使用する方が、プレーンなQByteArrayQByteArray::indexOf() でマッチングするよりも高速です。このクラスは、1 回限りのバイト配列マッチを行う場合には何のメリットもありません。

検索したいQByteArray で QByteArrayMatcher を作成します。次に、検索したいQByteArrayindexIn() を呼び出します。

QByteArray およびQStringMatcherも参照のこと

メンバ関数のドキュメント

QByteArrayMatcher::QByteArrayMatcher()

何もマッチしない空のバイト配列 matcher を構築します。マッチするパターンを指定するには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 バイト配列 matcher をこのバイト配列 matcher にコピーします。

[noexcept] QByteArrayMatcher::~QByteArrayMatcher()

バイト配列マッチャーを破棄します。

qsizetype QByteArrayMatcher::indexIn(const char *str, qsizetype len, qsizetype from = 0) const

長さlen の文字列str を、コンストラクタまたはsetPattern() の直近の呼び出しで設定されたバイト配列pattern() のバイト位置from (デフォルト 0、つまり先頭バイトから) から検索する。strpattern() がマッチした位置、またはマッチが見つからなかった場合は -1 を返します。

[since 6.3] qsizetype QByteArrayMatcher::indexIn(QByteArrayView data, qsizetype from = 0) const

これはオーバーロードされた関数です。

バイト配列data を、バイト位置from (デフォルト 0、つまり最初のバイトから)から、コンストラクタまたはsetPattern() の直近の呼び出しで設定されたバイト配列pattern() を検索します。datapattern() がマッチした位置を返すか、マッチしなかった場合は -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 バイト配列 matcher をこのバイト配列 matcher に割り当てます。

© 2025 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.