QStaticLatin1StringMatcher Class
template <Qt::CaseSensitivity CS, size_t N> class QStaticLatin1StringMatcherLa clase QStaticLatin1StringMatcher es una versión en tiempo de compilación de QLatin1StringMatcher. Más...
| Cabecera: | #include <QStaticLatin1StringMatcher> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Desde: | Qt 6.7 |
- Lista de todos los miembros, incluyendo los heredados
- QStaticLatin1StringMatcher es parte de Clases para datos de cadena.
Funciones Públicas
| qsizetype | indexIn(QLatin1StringView haystack, qsizetype from = 0) const |
| qsizetype | indexIn(QStringView haystack, qsizetype from = 0) const |
No miembros relacionados
(since 6.7) auto | qMakeStaticCaseInsensitiveLatin1StringMatcher(const char (&)[N] patternToMatch) |
(since 6.7) auto | qMakeStaticCaseSensitiveLatin1StringMatcher(const char (&)[N] patternToMatch) |
Descripción Detallada
Esta clase es útil cuando tu código necesita buscar eficientemente en cadenas Latin-1 una subcadena conocida en tiempo de compilación. Esto es común, por ejemplo, en los analizadores sintácticos. Usar indexIn() de un objeto matcher es más rápido que usar el método miembro indexOf() de la cadena en la que se está buscando, especialmente cuando la cadena a encontrar se buscará repetidamente o dentro de una cadena Latin-1 grande que puede contener muchas coincidencias con prefijos de la subcadena a encontrar.
A diferencia de QLatin1StringMatcher, esta clase calcula la representación interna en tiempo de compilación, por lo que puede ser beneficiosa incluso si estás haciendo coincidencias puntuales de cadenas Latin-1.
Crea el QStaticLatin1StringMatcher llamando a qMakeStaticCaseSensitiveLatin1StringMatcher() o qMakeStaticCaseInsensitiveLatin1StringMatcher() pasando la cadena Latin-1 a buscar como un literal de cadena C. Almacena el valor de retorno de esa función en una variable static constexpr auto, de modo que no necesites pasar explícitamente el parámetro de plantilla N.
A continuación, llame a indexIn() en el QLatin1StringView en el que desea buscar, al igual que con QLatin1StringMatcher.
Dado que esta clase está diseñada para realizar todos los cálculos previos en tiempo de compilación, no ofrece los métodos setPattern() o setCaseSensitivity().
Nota: El sistema operativo INTEGRITY no está soportado actualmente.
Véase también QLatin1StringMatcher, QStaticByteArrayMatcher, y QByteArrayMatcher.
Documentación de las funciones miembro
[constexpr noexcept] qsizetype QStaticLatin1StringMatcher::indexIn(QLatin1StringView haystack, qsizetype from = 0) const
[constexpr noexcept] qsizetype QStaticLatin1StringMatcher::indexIn(QStringView haystack, qsizetype from = 0) const
Busca en QLatin1StringView haystack , desde la posición de byte from (por defecto 0, es decir, desde el primer byte), el patrón QLatin1StringView () que se estableció en el constructor. Utilizando la distinción entre mayúsculas y minúsculas que también se estableció en el constructor.
Devuelve la posición donde coincidió el patrón() en haystack, o -1 si no se encontró ninguna coincidencia.
No miembros relacionados
[constexpr noexcept, since 6.7] template <size_t N> auto qMakeStaticCaseInsensitiveLatin1StringMatcher(const char (&)[N] patternToMatch)
Devuelve un QStaticLatin1StringMatcher con el N correcto determinado automáticamente a partir del patternToMatch pasado, y sin distinción entre mayúsculas y minúsculas.
Para aprovechar al máximo esta función, asigne el resultado a una variable static constexpr auto:
static constexpr auto matcher = qMakeStaticCaseInsensitiveLatin1StringMatcher("needle");
Esta función se introdujo en Qt 6.7.
[constexpr noexcept, since 6.7] template <size_t N> auto qMakeStaticCaseSensitiveLatin1StringMatcher(const char (&)[N] patternToMatch)
Devuelve un QStaticLatin1StringMatcher con el N correcto determinado automáticamente a partir del patternToMatch pasado, y con distinción entre mayúsculas y minúsculas.
Para aprovechar al máximo esta función, asigne el resultado a una variable static constexpr auto:
static constexpr auto matcher = qMakeStaticCaseSensitiveLatin1StringMatcher("needle");
Esta función se introdujo en 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.