41 template <
class SymbolType >
43 template <
class SymbolType >
45 template <
class SymbolType >
48 template <
class SymbolType >
50 template <
class SymbolType >
52 template <
class SymbolType >
54 template <
class SymbolType >
59template <
class SymbolType >
64template <
class SymbolType >
73 unsigned firstUnknownPos = pattern.
getContent ( ).size ( );
74 for (
unsigned i = 0;
i < pattern.
getContent ( ).size ( ); ++
i ) {
91 if ( j >= pattern.
getContent ( ).size ( ) ) occ.insert (
i );
96 unsigned shift = j - borderArray [ j ];
99 j =
std::min ( firstUnknownPos, j ) - shift;
108template <
class SymbolType >
118 unsigned firstUnknownPos = pattern.
getContent ( ).size ( );
119 for (
unsigned i = 0;
i < pattern.
getContent ( ).size ( ); ++
i ) {
136 if ( j >= pattern.
getContent ( ).size ( ) ) occ.insert (
i );
141 unsigned shift = j - borderArray [ j ];
144 j =
std::min ( firstUnknownPos, j ) - shift;
153template <
class SymbolType >
158template <
class SymbolType >
163template <
class SymbolType >
172 unsigned firstUnknownPos = pattern.
getContent ( ).size ( );
173 for (
unsigned i = 0;
i < pattern.
getContent ( ).size ( ); ++
i ) {
190 if ( j >= pattern.
getContent ( ).size ( ) ) occ.insert (
i );
195 unsigned shift = j - borderArray [ j ];
207template <
class SymbolType >
217 unsigned firstUnknownPos = pattern.
getContent ( ).size ( );
218 for (
unsigned i = 0;
i < pattern.
getContent ( ).size ( ); ++
i ) {
235 if ( j >= pattern.
getContent ( ).size ( ) ) occ.insert (
i );
240 unsigned shift = j - borderArray [ j ];
243 j =
std::min ( firstUnknownPos, j ) - shift;
Definition: KnuthMorrisPratt.h:35
static ext::set< unsigned > match(const tree::PrefixRankedBarTree< SymbolType > &subject, const tree::PrefixRankedBarTree< SymbolType > &pattern)
Definition: KnuthMorrisPratt.h:60
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
Nonlinear tree pattern represented as linear sequece as result of preorder traversal with additional ...
Definition: PrefixRankedBarNonlinearPattern.h:91
const ext::set< common::ranked_symbol< SymbolType > > & getNonlinearVariables() const &
Definition: PrefixRankedBarNonlinearPattern.h:277
const common::ranked_symbol< SymbolType > & getSubtreeWildcard() const &
Definition: PrefixRankedBarNonlinearPattern.h:259
const ext::vector< common::ranked_symbol< SymbolType > > & getContent() const &
Definition: PrefixRankedBarNonlinearPattern.h:434
Tree pattern represented as linear sequece as result of preorder traversal with additional bar symbol...
Definition: PrefixRankedBarPattern.h:85
const common::ranked_symbol< SymbolType > & getSubtreeWildcard() const &
Definition: PrefixRankedBarPattern.h:202
const ext::vector< common::ranked_symbol< SymbolType > > & getContent() const &
Definition: PrefixRankedBarPattern.h:334
Tree structure represented as linear sequece as result of preorder traversal with additional bar symb...
Definition: PrefixRankedBarTree.h:78
const ext::vector< common::ranked_symbol< SymbolType > > & getContent() const &
Definition: PrefixRankedBarTree.h:273
Tree pattern represented as linear sequece as result of preorder traversal. The representation is so ...
Definition: PrefixRankedExtendedPattern.h:80
const ext::vector< common::ranked_symbol< SymbolType > > & getContent() const &
Definition: PrefixRankedExtendedPattern.h:293
const ext::set< common::ranked_symbol< SymbolType > > & getNodeWildcards() const &
Definition: PrefixRankedExtendedPattern.h:157
const common::ranked_symbol< SymbolType > & getSubtreeWildcard() const &
Definition: PrefixRankedExtendedPattern.h:184
Nonlinear tree pattern represented as linear sequece as result of preorder traversal....
Definition: PrefixRankedNonlinearPattern.h:82
const ext::set< common::ranked_symbol< SymbolType > > & getNonlinearVariables() const &
Definition: PrefixRankedNonlinearPattern.h:208
const ext::vector< common::ranked_symbol< SymbolType > > & getContent() const &
Definition: PrefixRankedNonlinearPattern.h:333
const common::ranked_symbol< SymbolType > & getSubtreeWildcard() const &
Definition: PrefixRankedNonlinearPattern.h:190
Tree pattern represented as linear sequece as result of preorder traversal. The representation is so ...
Definition: PrefixRankedPattern.h:77
Tree structure represented as linear sequece as result of preorder traversal. The representation is s...
Definition: PrefixRankedTree.h:71
const ext::vector< common::ranked_symbol< SymbolType > > & getContent() const &
Definition: PrefixRankedTree.h:235
static size_t occurrence(const PrefixRankedBarTree< SymbolType > &subject, const ext::vector< int > &subjectSubtreeJumpTable, const PrefixRankedBarTree< SymbolType > &pattern, size_t subjectPosition, size_t patternStartIndex=0)
Definition: ForwardOccurrenceTest.h:42
static ext::vector< size_t > construct(const T &pattern)
Definition: BorderArrayNaive.h:59
static ext::vector< size_t > construct(const PrefixRankedPatternType &pattern)
Definition: BorderArray.h:47
static ext::vector< int > compute(const tree::PrefixRankedBarTree< SymbolType > &subject)
Definition: SubtreeJumpTable.h:49
Definition: BoyerMooreHorspool.h:22
int i
Definition: AllEpsilonClosure.h:118
constexpr const T & max(const T &a)
Root case of maximum computation. The maximum from one value is the value itself.
Definition: algorithm.hpp:278
constexpr const T & min(const T &a)
Definition: algorithm.hpp:310