Nonlinear tree pattern represented as linear sequece as result of preorder traversal with additional bar symbols. The representation is so called ranked, therefore it consists of ranked symbols (bars are ranked as well). The rank of the ranked symbol needs be to compatible with unsigned integer. Additionally the pattern contains a special wildcard symbol representing any subtree and nonlinear variables each to represent same subtree (in the particular occurrence in a tree). To match the wildcard and nonlinear variable, special bar symbol called variables bar is present as well.
More...
|
| PrefixRankedBarNonlinearPattern (ext::set< common::ranked_symbol< SymbolType > > bars, common::ranked_symbol< SymbolType > variablesBar, common::ranked_symbol< SymbolType > subtreeWildcard, ext::set< common::ranked_symbol< SymbolType > > nonlinearVariables, ext::set< common::ranked_symbol< SymbolType > > alphabet, ext::vector< common::ranked_symbol< SymbolType > > data) |
| Creates a new instance of the pattern with concrete alphabet, bars, content, wildcard, nonlinear variables, and variables bar. More...
|
|
| PrefixRankedBarNonlinearPattern (ext::set< common::ranked_symbol< SymbolType > > bars, common::ranked_symbol< SymbolType > variablesBar, common::ranked_symbol< SymbolType > subtreeWildcard, ext::set< common::ranked_symbol< SymbolType > > nonlinearVariables, ext::vector< common::ranked_symbol< SymbolType > > data) |
| Creates a new instance of the pattern with concrete bars, content, wildcard, nonlinear variables, and variables bar. The alphabet is deduced from the content. More...
|
|
| PrefixRankedBarNonlinearPattern (ext::set< common::ranked_symbol< SymbolType > > bars, common::ranked_symbol< SymbolType > variablesBar, common::ranked_symbol< SymbolType > subtreeWildcard, ext::vector< common::ranked_symbol< SymbolType > > data) |
| Creates a new instance of the pattern with concrete bars, content, wildcard, and variables bar. The alphabet is deduced from the content. Nonlinear variables are defaultly constructed to empty set. More...
|
|
| PrefixRankedBarNonlinearPattern (SymbolType barBase, common::ranked_symbol< SymbolType > variablesBar, const RankedTree< SymbolType > &tree) |
| Creates a new instance of the pattern based on the RankedTree. The linear representation is constructed (including bars) by preorder traversal on the tree parameter. Symbol part of bars and variables bar are provided as parameters. The subtree wildcard is defaultly constructed and nonlinear variables are defaultly constructed to empty set. More...
|
|
| PrefixRankedBarNonlinearPattern (SymbolType barBase, common::ranked_symbol< SymbolType > variablesBar, const RankedPattern< SymbolType > &tree) |
| Creates a new instance of the pattern based on the RankedPattern. The linear representation is constructed (including bars) by preorder traversal on the tree parameter. Symbol part of bars and variables bar are provided as parameters. The subtree wildcard is provided by the pattern parameter and nonlinear variables are defaultly constructed to empty set. More...
|
|
| PrefixRankedBarNonlinearPattern (SymbolType barBase, common::ranked_symbol< SymbolType > variablesBar, const RankedNonlinearPattern< SymbolType > &tree) |
| Creates a new instance of the pattern based on the RankedNonlinearPattern. The linear representation is constructed (including bars) by preorder traversal on the tree parameter. Symbol part of bars and variables bar are provided as parameters. The subtree wildcard and nonlinear variables are provided by the pattern parameter. More...
|
|
| PrefixRankedBarNonlinearPattern (const PrefixRankedBarTree< SymbolType > &tree) |
| Creates a new instance of the pattern based on the PrefixRankedBarTree. The linear representation is copied from tree. Bars and alphabet as well. Variables bar, subtree wildcard are defaultly constructed and nonlinear variables are defaultly constructed to empty set. More...
|
|
| PrefixRankedBarNonlinearPattern (const PrefixRankedBarPattern< SymbolType > &tree) |
| Creates a new instance of the pattern based on the PrefixRankedBarPattern. The linear representation is copied from tree. Subtree wildcard, variables bar, bars, and alphabet as well. Nonlinear variables are defaultly constructed to empty set. More...
|
|
| PrefixRankedBarNonlinearPattern (const RankedTree< SymbolType > &tree) |
| Creates a new instance of the pattern based on the RankedTree. The linear representation is constructed (including bars) by preorder traversal on the tree parameter. Bars are computed to match symbols used in the representation from RankedPattern. Subtree wildcard and variables bar are defaultly constructed. Nonlinear variables are defaultly constructed to empty set. More...
|
|
| PrefixRankedBarNonlinearPattern (const RankedPattern< SymbolType > &tree) |
| Creates a new instance of the pattern based on the RankedPattern. The linear representation is constructed (including bars) by preorder traversal on the tree parameter. Bars are computed to match symbols used in the representation from RankedPattern. Subtree wildcard is copied from the pattern. Variables bar is defaultly constructed. Nonlinear variables are defaultly constructed to empty set. More...
|
|
| PrefixRankedBarNonlinearPattern (const RankedNonlinearPattern< SymbolType > &tree) |
| Creates a new instance of the pattern based on the NonlinearRankedPattern. The linear representation is constructed (including bars) by preorder traversal on the tree parameter. Bars are computed to match symbols used in the representation from RankedPattern. Subtree wildcard and nonlinear variables are copied from the pattern. Variables bar is defaultly constructed. More...
|
|
const ext::set< common::ranked_symbol< SymbolType > > & | getAlphabet () const & |
|
ext::set< common::ranked_symbol< SymbolType > > && | getAlphabet () && |
|
void | extendAlphabet (const ext::set< common::ranked_symbol< SymbolType > > &symbols) |
|
const ext::set< common::ranked_symbol< SymbolType > > & | getBars () const & |
|
ext::set< common::ranked_symbol< SymbolType > > && | getBars () && |
|
void | extendBars (const ext::set< common::ranked_symbol< SymbolType > > &bars) |
|
const common::ranked_symbol< SymbolType > & | getSubtreeWildcard () const & |
|
common::ranked_symbol< SymbolType > && | getSubtreeWildcard () && |
|
const ext::set< common::ranked_symbol< SymbolType > > & | getNonlinearVariables () const & |
|
ext::set< common::ranked_symbol< SymbolType > > && | getNonlinearVariables () && |
|
const common::ranked_symbol< SymbolType > & | getVariablesBar () const & |
|
common::ranked_symbol< SymbolType > && | getVariablesBar () && |
|
const ext::vector< common::ranked_symbol< SymbolType > > & | getContent () const & |
|
ext::vector< common::ranked_symbol< SymbolType > > && | getContent () && |
|
void | setContent (ext::vector< common::ranked_symbol< SymbolType > > data) |
|
bool | isEmpty () const |
|
auto | operator<=> (const PrefixRankedBarNonlinearPattern &other) const |
|
bool | operator== (const PrefixRankedBarNonlinearPattern &other) const |
|
| operator string::LinearString< common::ranked_symbol< SymbolType > > () const |
| Creates a new instance of the string from a linear representation of a tree. More...
|
|
void | accessComponent () |
|
template<class SymbolType>
class tree::PrefixRankedBarNonlinearPattern< SymbolType >
Nonlinear tree pattern represented as linear sequece as result of preorder traversal with additional bar symbols. The representation is so called ranked, therefore it consists of ranked symbols (bars are ranked as well). The rank of the ranked symbol needs be to compatible with unsigned integer. Additionally the pattern contains a special wildcard symbol representing any subtree and nonlinear variables each to represent same subtree (in the particular occurrence in a tree). To match the wildcard and nonlinear variable, special bar symbol called variables bar is present as well.
The bars represent end mark of all subpatterns in the notation.
T = (A, B \subset A, C, W \in ( A \minus B ), V \in ( A \minus B), Wb \in B ), A (Alphabet) = finite set of ranked symbols, B (Bars) = finite set of ranked symbols representing bars, C (Content) = linear representation of the pattern content W (Wildcard) = special symbol representing any subtree V (Variables) = finite set of special symbols each representing same subtree Wb (VariablesBar) = special bar symbol to match wildcard
- Template Parameters
-
SymbolType | used for the symbol part of the ranked symbol |