QStaticLatin1StringMatcher Class
template <Qt::CaseSensitivity CS, size_t N> class QStaticLatin1StringMatcherLa classe QStaticLatin1StringMatcher est une version compilée de QLatin1StringMatcher. Plus....
| En-tête : | #include <QStaticLatin1StringMatcher> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
| Depuis : | Qt 6.7 |
- Liste de tous les membres, y compris les membres hérités
- QStaticLatin1StringMatcher fait partie de Classes pour les données de chaînes de caractères.
Fonctions publiques
| qsizetype | indexIn(QLatin1StringView haystack, qsizetype from = 0) const |
| qsizetype | indexIn(QStringView haystack, qsizetype from = 0) const |
Non-membres apparentés
(since 6.7) auto | qMakeStaticCaseInsensitiveLatin1StringMatcher(const char (&)[N] patternToMatch) |
(since 6.7) auto | qMakeStaticCaseSensitiveLatin1StringMatcher(const char (&)[N] patternToMatch) |
Description détaillée
Cette classe est utile lorsque votre code doit rechercher efficacement dans les chaînes de caractères latins-1 une sous-chaîne connue à la compilation. Cela est courant, par exemple, dans les analyseurs syntaxiques. L'utilisation de la fonction indexIn() d'un objet matcher est plus rapide que l'utilisation de la méthode membre indexOf() de la chaîne de caractères dans laquelle vous effectuez la recherche, en particulier lorsque la chaîne de caractères à trouver est recherchée de manière répétée ou dans une grande chaîne de caractères Latin-1 qui peut contenir de nombreuses correspondances avec les préfixes de la sous-chaîne à trouver.
Contrairement à QLatin1StringMatcher, cette classe calcule la représentation interne au moment de la compilation, de sorte qu'elle peut être utile même si vous effectuez des recherches ponctuelles dans des chaînes de caractères Latin-1.
Créez le QStaticLatin1StringMatcher en appelant qMakeStaticCaseSensitiveLatin1StringMatcher() ou qMakeStaticCaseInsensitiveLatin1StringMatcher() en transmettant la chaîne Latin-1 à rechercher sous la forme d'un littéral de chaîne C. Stockez la valeur de retour de cette fonction dans une variable static constexpr auto, de sorte qu'il n'est pas nécessaire de passer explicitement le paramètre de modèle N.
Appelez ensuite indexIn() sur le site QLatin1StringView dans lequel vous souhaitez effectuer la recherche, comme avec QLatin1StringMatcher.
Étant donné que cette classe est conçue pour effectuer tous les calculs initiaux au moment de la compilation, elle ne propose pas les méthodes setPattern() ou setCaseSensitivity().
Remarque : le système d'exploitation INTEGRITY n'est actuellement pas pris en charge.
Voir aussi QLatin1StringMatcher, QStaticByteArrayMatcher, et QByteArrayMatcher.
Documentation des fonctions membres
[constexpr noexcept] qsizetype QStaticLatin1StringMatcher::indexIn(QLatin1StringView haystack, qsizetype from = 0) const
[constexpr noexcept] qsizetype QStaticLatin1StringMatcher::indexIn(QStringView haystack, qsizetype from = 0) const
Recherche dans QLatin1StringView haystack , à partir de la position d'octet from (par défaut 0, c'est-à-dire à partir du premier octet), le motif QLatin1StringView qui a été défini dans le constructeur. En utilisant la sensibilité à la casse qui a également été définie dans le constructeur.
Renvoie la position où le motif() correspond dans haystack, ou -1 si aucune correspondance n'a été trouvée.
Non-membres apparentés
[constexpr noexcept, since 6.7] template <size_t N> auto qMakeStaticCaseInsensitiveLatin1StringMatcher(const char (&)[N] patternToMatch)
Retourne un QStaticLatin1StringMatcher avec le bon N déterminé automatiquement à partir du patternToMatch passé, et sans tenir compte des majuscules et minuscules.
Pour tirer pleinement parti de cette fonction, affectez le résultat à une variable static constexpr auto:
static constexpr auto matcher = qMakeStaticCaseInsensitiveLatin1StringMatcher("needle");
Cette fonction a été introduite dans Qt 6.7.
[constexpr noexcept, since 6.7] template <size_t N> auto qMakeStaticCaseSensitiveLatin1StringMatcher(const char (&)[N] patternToMatch)
Retourne un QStaticLatin1StringMatcher avec le bon N déterminé automatiquement à partir du patternToMatch passé, et avec la sensibilité à la casse.
Pour tirer pleinement parti de cette fonction, affectez le résultat à une variable static constexpr auto:
static constexpr auto matcher = qMakeStaticCaseSensitiveLatin1StringMatcher("needle");
Cette fonction a été introduite dans Qt 6.7.
© 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.