QByteArrayMatcher Class

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

Header: #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()

何もマッチしない空のバイト配列マッチャーを構築します。setPattern() を呼び出して、マッチするパターンを指定します。

[explicit] QByteArrayMatcher::QByteArrayMatcher(const QByteArray &pattern)

pattern を検索するバイト配列 matcher を構築します。indexIn() を呼び出して検索を実行します。

[explicit] QByteArrayMatcher::QByteArrayMatcher(const char *pattern, qsizetype length = -1)

pattern からバイト配列 matcher を構築します。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()

バイト配列 matcher を破棄します。

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

len の長さを持つ文字列str を、from のバイト位置(デフォルトは 0、つまり最初のバイトから)から、コンストラクタまたはsetPattern() の直近の呼び出しで設定されたバイト配列pattern() を検索します。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)

このバイト配列 matcher にother バイト配列 matcher を割り当てます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。