Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Represents unbounded regular expression structure. Regular expression is stored as a tree of UnboundedRegExpElements. More...
#include <UnboundedRegExpStructure.h>
Public Member Functions | |
UnboundedRegExpStructure () | |
Creates a new instance of the expression structure. Defaultly created structure is empty expression. More... | |
UnboundedRegExpStructure (UnboundedRegExpElement< SymbolType > &&structure) | |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter. More... | |
UnboundedRegExpStructure (const UnboundedRegExpElement< SymbolType > &structure) | |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter. More... | |
UnboundedRegExpStructure (const FormalRegExpStructure< SymbolType > &other) | |
Creates a new instance based on formal representation. The new instance contains structure converted to unbounded representation. More... | |
const UnboundedRegExpElement< SymbolType > & | getStructure () const |
UnboundedRegExpElement< SymbolType > & | getStructure () |
void | setStructure (UnboundedRegExpElement< SymbolType > &¶m) |
void | setStructure (const UnboundedRegExpElement< SymbolType > &structure) |
UnboundedRegExpStructure< DefaultSymbolType > | normalize () && |
Performs the type normalization of the regexp structure. More... | |
Friends | |
ext::ostream & | operator<< (ext::ostream &out, const UnboundedRegExpStructure< SymbolType > &structure) |
Strucuture printer to the stream. More... | |
std::strong_ordering | operator<=> (const UnboundedRegExpStructure &first, const UnboundedRegExpStructure &second) |
Three way comparison operator implementation for the expression structure. More... | |
bool | operator== (const UnboundedRegExpStructure &first, const UnboundedRegExpStructure &second) |
Equality operator implementation for the expression structure. More... | |
Represents unbounded regular expression structure. Regular expression is stored as a tree of UnboundedRegExpElements.
SymbolType | used for the terminal alphabet |
|
explicit |
Creates a new instance of the expression structure. Defaultly created structure is empty expression.
|
explicit |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter.
structure | the expression structure. |
|
explicit |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter.
structure | the expression structure. |
|
explicit |
Creates a new instance based on formal representation. The new instance contains structure converted to unbounded representation.
other | the structure in formal representation |
UnboundedRegExpElement< SymbolType > & regexp::UnboundedRegExpStructure< SymbolType >::getStructure |
Getter of the root of the structure.
const UnboundedRegExpElement< SymbolType > & regexp::UnboundedRegExpStructure< SymbolType >::getStructure |
Getter of the root of the structure.
|
inline |
Performs the type normalization of the regexp structure.
void regexp::UnboundedRegExpStructure< SymbolType >::setStructure | ( | const UnboundedRegExpElement< SymbolType > & | structure | ) |
Sets the root node of the expression structure
structure | new root node of the structure |
void regexp::UnboundedRegExpStructure< SymbolType >::setStructure | ( | UnboundedRegExpElement< SymbolType > && | param | ) |
Sets the root node of the expression structure
structure | new root node of the structure |
|
friend |
Strucuture printer to the stream.
out | the output stream |
structure | the structure to print |
|
friend |
Three way comparison operator implementation for the expression structure.
first | the first instance |
second | the second instance |
|
friend |
Equality operator implementation for the expression structure.
first | the first instance |
second | the second instance |