Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QByteArrayMatcher Class Reference

\inmodule QtCore More...

#include <qbytearraymatcher.h>

+ Collaboration diagram for QByteArrayMatcher:

Public Member Functions

 QByteArrayMatcher ()
 Constructs an empty byte array matcher that won't match anything.
 
 QByteArrayMatcher (const QByteArray &pattern)
 Constructs a byte array matcher that will search for pattern.
 
 QByteArrayMatcher (QByteArrayView pattern)
 
 QByteArrayMatcher (const char *pattern, qsizetype length=-1)
 Constructs a byte array matcher from pattern.
 
 QByteArrayMatcher (const QByteArrayMatcher &other)
 Copies the other byte array matcher to this byte array matcher.
 
 ~QByteArrayMatcher ()
 Destroys the byte array matcher.
 
QByteArrayMatcheroperator= (const QByteArrayMatcher &other)
 Assigns the other byte array matcher to this byte array matcher.
 
void setPattern (const QByteArray &pattern)
 Sets the byte array that this byte array matcher will search for to pattern.
 
Q_WEAK_OVERLOAD qsizetype indexIn (const QByteArray &ba, qsizetype from=0) const
 
qsizetype indexIn (const char *str, qsizetype len, qsizetype from=0) const
 Searches the char string str, which has length len, from byte position from (default 0, i.e.
 
qsizetype indexIn (QByteArrayView data, qsizetype from=0) const
 
QByteArray pattern () const
 Returns the byte array pattern that this byte array matcher will search for.
 

Detailed Description

\inmodule QtCore

The QByteArrayMatcher class holds a sequence of bytes that can be quickly matched in a byte array.

This class is useful when you have a sequence of bytes that you want to repeatedly match against some byte arrays (perhaps in a loop), or when you want to search for the same sequence of bytes multiple times in the same byte array. Using a matcher object and indexIn() is faster than matching a plain QByteArray with QByteArray::indexOf() if repeated matching takes place. This class offers no benefit if you are doing one-off byte array matches.

Create the QByteArrayMatcher with the QByteArray you want to search for. Then call indexIn() on the QByteArray that you want to search.

See also
QByteArray, QStringMatcher

Definition at line 18 of file qbytearraymatcher.h.

Constructor & Destructor Documentation

◆ QByteArrayMatcher() [1/5]

QByteArrayMatcher::QByteArrayMatcher ( )

Constructs an empty byte array matcher that won't match anything.

Call setPattern() to give it a pattern to match.

Definition at line 82 of file qbytearraymatcher.cpp.

◆ QByteArrayMatcher() [2/5]

QByteArrayMatcher::QByteArrayMatcher ( const QByteArray & pattern)
explicit

Constructs a byte array matcher that will search for pattern.

Call indexIn() to perform a search.

Definition at line 111 of file qbytearraymatcher.cpp.

References bm_init_skiptable().

+ Here is the call graph for this function:

◆ QByteArrayMatcher() [3/5]

QByteArrayMatcher::QByteArrayMatcher ( QByteArrayView pattern)
inlineexplicit
Since
6.3 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Constructs a byte array matcher that will search for pattern. Call indexIn() to perform a search.

Note
the data that pattern is referencing must remain valid while this object is used.

Definition at line 23 of file qbytearraymatcher.h.

◆ QByteArrayMatcher() [4/5]

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

Constructs a byte array matcher from pattern.

pattern has the given length. Call indexIn() to perform a search.

Note
the data that pattern is referencing must remain valid while this object is used.

Definition at line 97 of file qbytearraymatcher.cpp.

References bm_init_skiptable(), pattern(), and qstrlen().

+ Here is the call graph for this function:

◆ QByteArrayMatcher() [5/5]

QByteArrayMatcher::QByteArrayMatcher ( const QByteArrayMatcher & other)

Copies the other byte array matcher to this byte array matcher.

Definition at line 134 of file qbytearraymatcher.cpp.

References operator=(), and other().

+ Here is the call graph for this function:

◆ ~QByteArrayMatcher()

QByteArrayMatcher::~QByteArrayMatcher ( )

Destroys the byte array matcher.

Definition at line 143 of file qbytearraymatcher.cpp.

References Q_UNUSED.

Member Function Documentation

◆ indexIn() [1/3]

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

Searches the char string str, which has length len, from byte position from (default 0, i.e.

from the first byte), for the byte array pattern() that was set in the constructor or in the most recent call to setPattern(). Returns the position where the pattern() matched in str, or -1 if no match was found.

Definition at line 179 of file qbytearraymatcher.cpp.

References bm_find(), and str.

+ Here is the call graph for this function:

◆ indexIn() [2/3]

Q_WEAK_OVERLOAD qsizetype QByteArrayMatcher::indexIn ( const QByteArray & ba,
qsizetype from = 0 ) const
inline

Definition at line 38 of file qbytearraymatcher.h.

References ba.

◆ indexIn() [3/3]

qsizetype QByteArrayMatcher::indexIn ( QByteArrayView data,
qsizetype from = 0 ) const
Since
6.3 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Searches the byte array data, from byte position from (default 0, i.e. from the first byte), for the byte array pattern() that was set in the constructor or in the most recent call to setPattern(). Returns the position where the pattern() matched in data, or -1 if no match was found.

Definition at line 198 of file qbytearraymatcher.cpp.

References bm_find().

+ Here is the call graph for this function:

◆ operator=()

QByteArrayMatcher & QByteArrayMatcher::operator= ( const QByteArrayMatcher & other)

Assigns the other byte array matcher to this byte array matcher.

Definition at line 151 of file qbytearraymatcher.cpp.

References other().

Referenced by QByteArrayMatcher().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pattern()

QByteArray QByteArrayMatcher::pattern ( ) const
inline

Returns the byte array pattern that this byte array matcher will search for.

See also
setPattern()

Definition at line 43 of file qbytearraymatcher.h.

References QByteArray().

Referenced by QByteArrayMatcher(), and setPattern().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPattern()

void QByteArrayMatcher::setPattern ( const QByteArray & pattern)

Sets the byte array that this byte array matcher will search for to pattern.

See also
pattern(), indexIn()

Definition at line 164 of file qbytearraymatcher.cpp.

References bm_init_skiptable(), pattern(), and QByteArray::size().

+ Here is the call graph for this function:

Member Data Documentation

◆ dummy

uint QByteArrayMatcher::dummy[256]

Definition at line 59 of file qbytearraymatcher.h.

◆ p

Data QByteArrayMatcher::p

Definition at line 60 of file qbytearraymatcher.h.


The documentation for this class was generated from the following files: