Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Factor oracle automaton string index. Stores a deterministic finite automaton. The automaton is of exactly linear size as the indexed string. The automaton represents at least all factors of the indexed string. The class does not check whether the automaton represent valid index. More...
#include <FactorOracleAutomaton.h>
Public Member Functions | |
FactorOracleAutomaton (automaton::DFA< SymbolType, unsigned > automaton) | |
const automaton::DFA< SymbolType, unsigned > & | getAutomaton () const & |
automaton::DFA< SymbolType, unsigned > && | getAutomaton () && |
const ext::set< SymbolType > & | getAlphabet () const & |
ext::set< SymbolType > && | getAlphabet () && |
bool | removeSymbolFromAlphabet (const SymbolType &symbol) |
unsigned | getBackboneLength () const |
auto | operator<=> (const FactorOracleAutomaton &other) const |
bool | operator== (const FactorOracleAutomaton &other) const |
operator automaton::DFA< SymbolType, unsigned > () const | |
Friends | |
ext::ostream & | operator<< (ext::ostream &out, const FactorOracleAutomaton &instance) |
Factor oracle automaton string index. Stores a deterministic finite automaton. The automaton is of exactly linear size as the indexed string. The automaton represents at least all factors of the indexed string. The class does not check whether the automaton represent valid index.
SymbolType | type of symbols of indexed string |
|
explicit |
Creates a new instance of the index based on the raw factor oracle automaton.
automaton | the factor oracle automaton |
|
inline |
Getter of the alphabet of the indexed string.
|
inline |
Getter of the alphabet of the indexed string.
automaton::DFA< SymbolType, unsigned > && indexes::stringology::FactorOracleAutomaton< SymbolType >::getAutomaton | ( | ) | && |
Getter of the raw factor oracle automaton
const automaton::DFA< SymbolType, unsigned > & indexes::stringology::FactorOracleAutomaton< SymbolType >::getAutomaton | ( | ) | const & |
Getter of the raw factor oracle automaton
|
inline |
Getter of the backbone length of the automaton. The length is equal to the longest path through the automaton.
|
explicit |
Cast operator to the underlying autoamton.
|
inline |
The three way comparison implementation
other | the other instance |
other
.
|
inline |
The equality comparison implementation.
other | the other object to compare with. |
|
inline |
Remover of a symbol from the alphabet. The symbol can be removed if it is not used in any of bit vector keys.
symbol | a symbol to remove. |
|
friend |
Print this object as raw representation to ostream.
out | ostream where to print |
instance | object to print |