Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Tree pattern represented as linear sequece as result of preorder traversal. The representation is so called ranked, therefore it consists of ranked symbols. The rank of the ranked symbol needs to be compatible with unsigned integer. Additionally the pattern contains a special wildcard symbol representing any subtree. More...
#include <PrefixRankedExtendedPattern.h>
Public Member Functions | |
PrefixRankedExtendedPattern (common::ranked_symbol< SymbolType > subtreeWildcard, ext::set< common::ranked_symbol< SymbolType > > nodeWildcards, ext::set< common::ranked_symbol< SymbolType > > alphabet, ext::vector< common::ranked_symbol< SymbolType > > data) | |
Creates a new instance of the pattern with concrete alphabet, content, and wildcard. More... | |
PrefixRankedExtendedPattern (common::ranked_symbol< SymbolType > subtreeWildcard, ext::set< common::ranked_symbol< SymbolType > > nodeWildcards, ext::vector< common::ranked_symbol< SymbolType > > data) | |
Creates a new instance of the pattern with concrete content and wildcard. The alphabet is deduced from the content. More... | |
PrefixRankedExtendedPattern (const PrefixRankedPattern< SymbolType > &pattern) | |
Creates a new instance of the pattern based on the PrefixRankedTree. The linear representation is copied from tree. Alphabet as well. Subtree wildcard is defaultly constructed. More... | |
PrefixRankedExtendedPattern (const RankedExtendedPattern< SymbolType > &pattern) | |
Creates a new instance of the pattern based on the RankedPattern. The linear representation is constructed by preorder traversal on the tree parameter. 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 > > & | getNodeWildcards () const & |
ext::set< common::ranked_symbol< SymbolType > > && | getNodeWildcards () && |
void | extendNodeWildcards (const ext::set< common::ranked_symbol< SymbolType > > &symbols) |
const common::ranked_symbol< SymbolType > & | getSubtreeWildcard () const & |
common::ranked_symbol< SymbolType > && | getSubtreeWildcard () && |
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 PrefixRankedExtendedPattern &other) const |
bool | operator== (const PrefixRankedExtendedPattern &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 () |
Friends | |
ext::ostream & | operator<< (ext::ostream &out, const PrefixRankedExtendedPattern &instance) |
Additional Inherited Members | |
![]() | |
static void | registerComponent () |
static void | unregisterComponent () |
Tree pattern represented as linear sequece as result of preorder traversal. The representation is so called ranked, therefore it consists of ranked symbols. The rank of the ranked symbol needs to be compatible with unsigned integer. Additionally the pattern contains a special wildcard symbol representing any subtree.
T = (A, C, W \in A, N \in A), A (Alphabet) = finite set of ranked symbols, C (Content) = linear representation of the pattern content W (Wildcard) = special symbol representing any subtree N (Node Wildcards) = special symbol representing any label
SymbolType | used for the symbol part of the ranked symbol |
|
explicit |
Creates a new instance of the pattern with concrete alphabet, content, and wildcard.
subtreeWildcard | the wildcard symbol |
alphabet | the initial alphabet of the pattern |
data | the initial pattern in linear representation |
|
explicit |
Creates a new instance of the pattern with concrete content and wildcard. The alphabet is deduced from the content.
subtreeWildcard | the wildcard symbol |
data | the initial pattern in linear representation |
|
explicit |
Creates a new instance of the pattern based on the PrefixRankedTree. The linear representation is copied from tree. Alphabet as well. Subtree wildcard is defaultly constructed.
pattern | representation of a pattern. |
|
explicit |
Creates a new instance of the pattern based on the RankedPattern. The linear representation is constructed by preorder traversal on the tree parameter.
pattern | representation of a pattern. |
|
inline |
Adder of an alphabet symbols.
symbols | the new symbols to be added to the alphabet |
|
inline |
Adder of an alphabet symbols.
symbols | the new symbols to be added to the alphabet |
|
inline |
Getter of the alphabet.
|
inline |
Getter of the alphabet.
ext::vector< common::ranked_symbol< SymbolType > > && tree::PrefixRankedExtendedPattern< SymbolType >::getContent | ( | ) | && |
Getter of the pattern representation.
const ext::vector< common::ranked_symbol< SymbolType > > & tree::PrefixRankedExtendedPattern< SymbolType >::getContent | ( | ) | const & |
Getter of the pattern representation.
|
inline |
Getter of the alphabet.
|
inline |
Getter of the alphabet.
|
inline |
Getter of the wildcard symbol.
|
inline |
Getter of the wildcard symbol.
bool tree::PrefixRankedExtendedPattern< SymbolType >::isEmpty |
|
inlineexplicit |
Creates a new instance of the string from a linear representation of a tree.
|
inline |
The three way comparison implementation
other | the other instance |
other
.
|
inline |
The equality comparison implementation.
other | the other object to compare with. |
void tree::PrefixRankedExtendedPattern< SymbolType >::setContent | ( | ext::vector< common::ranked_symbol< SymbolType > > | data | ) |
Setter of the representation of the pattern.
TreeException | when new pattern representation is not valid or when symbol of the representation are not present in the alphabet |
data | new List of symbols forming the representation of the pattern. |
|
friend |
Print this object as raw representation to ostream.
out | ostream where to print |
instance | object to print |