KatePrefixStore
#include <prefixstore.h>
Public Types | |
typedef QPair< bool, bool > | BooleanPair |
Public Member Functions | |
void | addPrefix (const QString &prefix) |
void | clear () |
void | dump () |
QString | findPrefix (const Kate::TextLine &line, int start=0) const |
QString | findPrefix (const QString &s, int start=0) const |
int | longestPrefixLength () const |
void | removePrefix (const QString &prefix) |
Protected Types | |
typedef QHash< unsigned short, QPair< unsigned int, unsigned long long > > | CharToOccurrenceStateHash |
typedef QHash< unsigned long long, CharToOccurrenceStateHash > | TransitionFunction |
Protected Member Functions | |
int | computeLongestPrefixLength () |
unsigned long long | nextFreeState () |
Protected Attributes | |
QSet< unsigned long long > | m_acceptingStates |
unsigned long long | m_lastAssignedState = 0 |
int | m_longestPrefixLength = 0 |
QSet< QString > | m_prefixSet |
QList< unsigned long long > | m_stateFreeList |
TransitionFunction | m_transitionFunction |
Detailed Description
This class can be used to efficiently search for occurrences of strings in a given string.
Theoretically speaking, a finite deterministic automaton is constructed which exactly accepts the strings that are to be recognized. In order to check whether a given string contains one of the strings that are being searched for the constructed automaton has to applied on each position in the given string.
Definition at line 27 of file prefixstore.h.
Member Function Documentation
◆ findPrefix() [1/2]
QString KatePrefixStore::findPrefix | ( | const Kate::TextLine & | line, |
int | start = 0 |
||
) | const |
Returns the shortest prefix of the given string that is contained in this prefix store starting at position 'start'.
Definition at line 112 of file prefixstore.cpp.
◆ findPrefix() [2/2]
Returns the shortest prefix of the given string that is contained in this prefix store starting at position 'start'.
Definition at line 93 of file prefixstore.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sun Jun 26 2022 03:49:55 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.