/*! Sets the string that this string matcher will search for to \a pattern. \sa pattern(), setCaseSensitivity(), indexIn() */ void QStringMatcher::setPattern(const QString &pattern) { q_pattern = pattern; p.uc = pattern.unicode(); p.len = pattern.size(); bm_init_skiptable((const ushort *)p.uc, pattern.size(), p.q_skiptable, q_cs); }
/*! Sets the case sensitivity setting of this string matcher to \a cs. \sa caseSensitivity(), setPattern(), indexIn() */ void QStringMatcher::setCaseSensitivity(Qt::CaseSensitivity cs) { if (cs == q_cs) return; bm_init_skiptable((const ushort *)q_pattern.unicode(), q_pattern.size(), p.q_skiptable, cs); q_cs = cs; }
/*! Constructs a string matcher that will search for \a pattern, with case sensitivity \a cs. Call indexIn() to perform a search. */ QStringMatcher::QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs) : q_pattern(pattern), q_cs(cs) { p.uc = pattern.unicode(); p.len = pattern.size(); bm_init_skiptable((const ushort *)p.uc, p.len, p.q_skiptable, cs); }
/*! \fn QStringMatcher::QStringMatcher(const QChar *uc, int length, Qt::CaseSensitivity cs) \since 4.5 Constructs a string matcher that will search for the pattern referred to by \a uc with the given \a length and case sensitivity specified by \a cs. */ QStringMatcher::QStringMatcher(const QChar *uc, int len, Qt::CaseSensitivity cs) : q_cs(cs) { p.uc = uc; p.len = len; bm_init_skiptable((const ushort *)p.uc, len, p.q_skiptable, cs); }
/*! Sets the byte array that this byte array matcher will search for to \a pattern. \sa pattern(), indexIn() */ void QByteArrayMatcher::setPattern(const QByteArray &pattern) { q_pattern = pattern; p.p = reinterpret_cast<const uchar *>(pattern.constData()); p.l = pattern.size(); bm_init_skiptable(p.p, p.l, p.q_skiptable); }
/*! Constructs a byte array matcher that will search for \a pattern. Call indexIn() to perform a search. */ QByteArrayMatcher::QByteArrayMatcher(const QByteArray &pattern) : d(0), q_pattern(pattern) { p.p = reinterpret_cast<const uchar *>(pattern.constData()); p.l = pattern.size(); bm_init_skiptable(p.p, p.l, p.q_skiptable); }
/*! Constructs a byte array matcher from \a pattern. \a pattern has the given \a length. \a pattern must remain in scope, but the destructor does not delete \a pattern. */ QByteArrayMatcher::QByteArrayMatcher(const char *pattern, int length) : d(0) { p.p = reinterpret_cast<const uchar *>(pattern); p.l = length; bm_init_skiptable(p.p, p.l, p.q_skiptable); }
int qFindStringBoyerMoore( const QChar *haystack, int haystackLen, int haystackOffset, const QChar *needle, int needleLen, Qt::CaseSensitivity cs) { uchar skiptable[256]; bm_init_skiptable((const ushort *)needle, needleLen, skiptable, cs); if (haystackOffset < 0) haystackOffset = 0; return bm_find((const ushort *)haystack, haystackLen, haystackOffset, (const ushort *)needle, needleLen, skiptable, cs); }
/*! \internal */ static int qFindByteArrayBoyerMoore( const char *haystack, int haystackLen, int haystackOffset, const char *needle, int needleLen) { uchar skiptable[256]; bm_init_skiptable((const uchar *)needle, needleLen, skiptable); if (haystackOffset < 0) haystackOffset = 0; return bm_find((const uchar *)haystack, haystackLen, haystackOffset, (const uchar *)needle, needleLen, skiptable); }
/*! Sets the byte array that this byte array matcher will search for to \a pattern. \sa pattern(), indexIn() */ void QByteArrayMatcher::setPattern(const QByteArray &pattern) { bm_init_skiptable(reinterpret_cast<const uchar *>(pattern.constData()), pattern.size(), q_skiptable); q_pattern = pattern; }
/*! Sets the string that this string matcher will search for to \a pattern. \sa pattern(), setCaseSensitivity(), indexIn() */ void QStringMatcher::setPattern(const QString &pattern) { bm_init_skiptable((const ushort *)pattern.unicode(), pattern.size(), q_skiptable, q_cs); q_pattern = pattern; }
/*! Constructs a string matcher that will search for \a pattern, with case sensitivity \a cs. Call indexIn() to perform a search. */ QStringMatcher::QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs) : d_ptr(0), q_pattern(pattern), q_cs(cs) { bm_init_skiptable((const ushort *)pattern.unicode(), pattern.size(), q_skiptable, cs); }