Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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 87 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 116 of file qbytearraymatcher.cpp.

◆ 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 102 of file qbytearraymatcher.cpp.

◆ QByteArrayMatcher() [5/5]

QByteArrayMatcher::QByteArrayMatcher ( const QByteArrayMatcher & other)

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

Definition at line 139 of file qbytearraymatcher.cpp.

◆ ~QByteArrayMatcher()

QByteArrayMatcher::~QByteArrayMatcher ( )

Destroys the byte array matcher.

Definition at line 148 of file qbytearraymatcher.cpp.

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 184 of file qbytearraymatcher.cpp.

◆ 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.

◆ 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 203 of file qbytearraymatcher.cpp.

◆ operator=()

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

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

Definition at line 156 of file qbytearraymatcher.cpp.

◆ 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.

◆ 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 169 of file qbytearraymatcher.cpp.

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: