9#include <string/LinearString.h>
22 template <
class SymbolType >
24 if ( trie.getData ( ) )
25 res.insert ( trie.getData ( ).value ( ) );
28 accumulateResult ( child.second,
res );
39 template <
class SymbolType >
44template <
class SymbolType >
47 for (
const SymbolType & symbol :
string.getContent ( ) ) {
48 auto iter =
node->getChildren ( ).find ( symbol );
49 if ( iter ==
node->getChildren ( ).end ( ) ) {
52 node = & iter->second;
56 accumulateResult ( *
node,
res );
Class introducing a trie with interface trying to be close to the interface of standard library conta...
Definition: trie.hpp:47
Suffix trie string index. Tree like representation of all suffixes. Nodes of the trie are optionally ...
Definition: SuffixTrie.h:55
const ext::trie< SymbolType, std::optional< unsigned > > & getRoot() const &
Definition: SuffixTrie.h:205
Linear string.
Definition: LinearString.h:57
Definition: SuffixTrieFactors.h:21
static ext::set< unsigned > query(const indexes::stringology::SuffixTrie< SymbolType > &suffixTrie, const string::LinearString< SymbolType > &string)
Definition: SuffixTrieFactors.h:45
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
return res
Definition: MinimizeByPartitioning.h:145
Definition: ArithmeticCompression.h:18