QStaticByteArrayMatcher Class
template <size_t N> class QStaticByteArrayMatcherLa classe `QStaticByteArrayMatcher` est une version « à la compilation » de ` QByteArrayMatcher`. En savoir plus...
| En-tête : | #include <QStaticByteArrayMatcher> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QStaticByteArrayMatcher fait partie des classes dédiées aux données de type chaîne de caractères.
Fonctions publiques
| qsizetype | indexIn(const QByteArray &haystack, qsizetype from = 0) const |
| qsizetype | indexIn(const char *haystack, qsizetype hlen, qsizetype from = 0) const |
| QByteArray | pattern() const |
Éléments non membres associés
| QStaticByteArrayMatcher<N> | qMakeStaticByteArrayMatcher(const char (&pattern)[N]) |
Description détaillée
QStaticByteArrayMatcher<N> est une classe de modèle où N correspond à la longueur du motif de tableau d'octets à rechercher (y compris le caractère de fin de chaîne pour les littéraux de chaîne). Cette classe est utile lorsque vous disposez d’une séquence d’octets que vous souhaitez comparer de manière répétée à plusieurs tableaux d’octets (par exemple dans une boucle), ou lorsque vous souhaitez rechercher plusieurs fois la même séquence d’octets dans un même tableau d’octets. L'utilisation d'un objet « matcher » et de la méthode ` indexIn()` est plus rapide que la comparaison d'un ` QByteArray ` simple avec la méthode ` QByteArray::indexOf()`, en particulier si des comparaisons répétées ont lieu.
Contrairement à ` QByteArrayMatcher`, cette classe calcule la représentation interne lors de la compilation; elle peut donc s’avérer avantageuse même si vous effectuez des recherches ponctuelles dans un tableau d’octets.
Créez l’objet `QStaticByteArrayMatcher` en appelant ` qMakeStaticByteArrayMatcher()`, en lui passant la chaîne littérale C que vous souhaitez rechercher. Stockez la valeur de retour de cette fonction dans une variable de type ` static const auto `, afin de ne pas avoir à passer explicitement le paramètre de modèle ` N ` :
static const auto matcher = qMakeStaticByteArrayMatcher("needle");Appelez ensuite indexIn() sur l’ QByteArray dans lequel vous souhaitez effectuer la recherche, exactement comme avec QByteArrayMatcher.
Comme cette classe est conçue pour effectuer tous les calculs en amont, au moment de la compilation, elle ne propose pas de méthode `setPattern()`.
Voir également QByteArrayMatcher et QStringMatcher.
Documentation des fonctions membres
[noexcept] qsizetype QStaticByteArrayMatcher::indexIn(const QByteArray &haystack, qsizetype from = 0) const
Recherche la chaîne de caractères haystack, à partir de la position d'octet from (valeur par défaut : 0, c'est-à-dire à partir du premier octet), pour trouver le tableau d'octets pattern() défini dans le constructeur.
Renvoie la position à laquelle la chaîne « pattern » () a été trouvée dans « haystack », ou -1 si aucune correspondance n’a été trouvée.
[noexcept] qsizetype QStaticByteArrayMatcher::indexIn(const char *haystack, qsizetype hlen, qsizetype from = 0) const
Recherche la chaîne de caractères haystack, d'une longueur de hlen, à partir de la position d'octet from (par défaut 0, c'est-à-dire à partir du premier octet), pour trouver le tableau d'octets pattern() défini dans le constructeur.
Renvoie la position à laquelle la chaîne « pattern » a été trouvée dans « haystack », ou -1 si aucune correspondance n’a été trouvée.
QByteArray QStaticByteArrayMatcher::pattern() const
Renvoie le motif sous forme de tableau d'octets que ce comparateur de tableaux d'octets va rechercher.
Voir aussi QByteArrayMatcher::setPattern().
Éléments non membres associés
[constexpr noexcept] template <size_t N> QStaticByteArrayMatcher<N> qMakeStaticByteArrayMatcher(const char (&pattern)[N])
Renvoie une variable ` QStaticByteArrayMatcher ` contenant l’ N s correctes, déterminées automatiquement à partir de l’ pattern fournie.
Pour tirer pleinement parti de cette fonction, affectez le résultat à une variable de type ` auto ` :
static const auto matcher = qMakeStaticByteArrayMatcher("needle");© 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.