24 template <
class SymbolType >
26 template <
class SymbolType >
28 template <
class SymbolType >
31 template <
class SymbolType >
33 template <
class SymbolType >
35 template <
class SymbolType >
37 template <
class SymbolType >
41template <
class SymbolType >
46template <
class SymbolType >
49 size_t offset = subjectPosition + patternStartIndex;
50 size_t j = patternStartIndex;
52 while ( ( j < pattern.
getContent ( ).size ( ) ) && ( offset < subject.
getContent ( ).size ( ) ) ) {
59 offset = subjectSubtreeJumpTable[offset];
69template <
class SymbolType >
76 unsigned offset = subjectPosition + patternStartIndex;
77 unsigned j = patternStartIndex;
79 while ( ( j < pattern.
getContent ( ).size ( ) ) && ( offset < subject.
getContent ( ).size ( ) ) ) {
87 auto setting = variablesSetting.find ( pattern.
getContent ( )[ j ] );
89 if ( setting != variablesSetting.
end ( ) && repeats.
getContent ( )[ offset ].getSymbol ( ) != setting->second )
96 offset = subjectSubtreeJumpTable[offset];
106template <
class SymbolType >
111template <
class SymbolType >
116template <
class SymbolType >
119 unsigned offset = subjectPosition + patternStartIndex;
120 size_t j = patternStartIndex;
122 while ( ( j < pattern.
getContent ( ).size ( ) ) && ( offset < subject.
getContent ( ).size ( ) ) ) {
128 offset = subjectSubtreeJumpTable[offset];
138template <
class SymbolType >
144 unsigned offset = subjectPosition + patternStartIndex;
145 unsigned j = patternStartIndex;
147 while ( ( j < pattern.
getContent ( ).size ( ) ) && ( offset < subject.
getContent ( ).size ( ) ) ) {
154 auto setting = variablesSetting.find ( pattern.
getContent ( )[ j ] );
156 if ( setting != variablesSetting.
end ( ) && repeats.
getContent ( )[ offset ].getSymbol ( ) != setting->second )
163 offset = subjectSubtreeJumpTable[offset];
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
std::pair< iterator, bool > insert(const T &key, const R &value)
Insert variant with explicit key and value parameters.
Definition: map.hpp:118
auto end() &
Inherited behavior of end for non-const instance.
Definition: map.hpp:215
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
const ext::set< common::ranked_symbol< SymbolType > > & getBars() const &
Definition: PrefixRankedBarTree.h:156
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
Definition: ForwardOccurrenceTest.h:22
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
constexpr auto make_pair(T1 &&x, T2 &&y)
Definition: pair.hpp:79
Definition: BackwardOccurrenceTest.h:17