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 26 of file prefixstore.h.
Member Typedef Documentation
◆ BooleanPair
QPair<bool, bool> KatePrefixStore::BooleanPair |
Definition at line 29 of file prefixstore.h.
◆ CharToOccurrenceStateHash
|
protected |
Definition at line 59 of file prefixstore.h.
◆ TransitionFunction
|
protected |
Definition at line 60 of file prefixstore.h.
Member Function Documentation
◆ addPrefix()
void KatePrefixStore::addPrefix | ( | const QString & | prefix | ) |
Definition at line 11 of file prefixstore.cpp.
◆ clear()
void KatePrefixStore::clear | ( | ) |
Definition at line 136 of file prefixstore.cpp.
◆ computeLongestPrefixLength()
|
protected |
Definition at line 146 of file prefixstore.cpp.
◆ dump()
void KatePrefixStore::dump | ( | ) |
Definition at line 82 of file prefixstore.cpp.
◆ 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.
◆ longestPrefixLength()
int KatePrefixStore::longestPrefixLength | ( | ) | const |
Definition at line 131 of file prefixstore.cpp.
◆ nextFreeState()
|
protected |
Definition at line 156 of file prefixstore.cpp.
◆ removePrefix()
void KatePrefixStore::removePrefix | ( | const QString & | prefix | ) |
Definition at line 44 of file prefixstore.cpp.
Member Data Documentation
◆ m_acceptingStates
|
protected |
Definition at line 62 of file prefixstore.h.
◆ m_lastAssignedState
|
protected |
Definition at line 64 of file prefixstore.h.
◆ m_longestPrefixLength
|
protected |
Definition at line 55 of file prefixstore.h.
◆ m_prefixSet
Definition at line 56 of file prefixstore.h.
◆ m_stateFreeList
|
protected |
Definition at line 63 of file prefixstore.h.
◆ m_transitionFunction
|
protected |
Definition at line 61 of file prefixstore.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:01:56 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.