Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Represents the iteration operator in the regular expression. The node has exactly one child. More...
#include <UnboundedRegExpIteration.h>
Public Member Functions | |
UnboundedRegExpIteration (UnboundedRegExpElement< SymbolType > &&element) | |
Creates a new instance of the iteration node with explicit iterated element. More... | |
UnboundedRegExpIteration (const UnboundedRegExpElement< SymbolType > &element) | |
Creates a new instance of the iteration node with explicit iterated element. More... | |
UnboundedRegExpIteration< SymbolType > * | clone () const &override |
( ) const & More... | |
UnboundedRegExpIteration< SymbolType > * | clone () &&override |
( ) const & More... | |
ext::smart_ptr< FormalRegExpElement< SymbolType > > | asFormal () const override |
bool | testSymbol (const SymbolType &symbol) const override |
void | computeMinimalAlphabet (ext::set< SymbolType > &alphabet) const override |
bool | checkAlphabet (const ext::set< SymbolType > &alphabet) const override |
const UnboundedRegExpElement< SymbolType > & | getElement () const |
UnboundedRegExpElement< SymbolType > & | getElement () |
void | setElement (UnboundedRegExpElement< SymbolType > &&element) |
void | setElement (const UnboundedRegExpElement< SymbolType > &element) |
std::strong_ordering | operator<=> (const UnboundedRegExpElement< SymbolType > &other) const override |
< SymbolType >::operator <=> ( const UnboundedRegExpElement < SymbolType > & other ) const; More... | |
std::strong_ordering | operator<=> (const UnboundedRegExpIteration< SymbolType > &) const |
bool | operator== (const UnboundedRegExpElement< SymbolType > &other) const override |
< SymbolType >::operator == ( const UnboundedRegExpElement < SymbolType > & other ) const; More... | |
bool | operator== (const UnboundedRegExpIteration< SymbolType > &) const |
void | operator>> (ext::ostream &out) const override |
< UnboundedRegExpElement < SymbolType > >::operator >> ( ext::ostream & ) More... | |
ext::smart_ptr< UnboundedRegExpElement< DefaultSymbolType > > | normalize () &&override |
< SymbolType >::normalize ( ) && More... | |
![]() | |
UnaryNode (const UnboundedRegExpElement< SymbolType > &c) | |
Constructor of the class accepting the child node. More... | |
UnaryNode (UnboundedRegExpElement< SymbolType > &&c) | |
Constructor of the class accepting the child node. More... | |
UnboundedRegExpElement< SymbolType > & | getChild () |
Getter of the child of the node. More... | |
const UnboundedRegExpElement< SymbolType > & | getChild () const |
Getter of the child of the node. More... | |
void | setChild (const UnboundedRegExpElement< SymbolType > &c) |
Setter of the child of the node. More... | |
void | setChild (UnboundedRegExpElement< SymbolType > &&c) |
Setter of the child of the node. More... | |
![]() | |
AnyaryNode (ext::ptr_array< Data, arity > c) | |
Constructor based on array of child nodes. More... | |
~AnyaryNode () noexcept override=default | |
Destructor of the class. More... | |
AnyaryNode (const AnyaryNode &other) | |
Copy constructor. More... | |
AnyaryNode (AnyaryNode &&other) noexcept | |
Move constructor. More... | |
AnyaryNode & | operator= (const AnyaryNode &other) |
Copy operator of assignment. More... | |
AnyaryNode & | operator= (AnyaryNode &&other) noexcept |
move operator of assignment. More... | |
const ext::ptr_array< Data, arity > & | getChildren () & |
Getter of the child nodes. More... | |
const ext::ptr_array< Data, arity > & | getChildren () const & |
Getter of the child nodes. More... | |
ext::ptr_array< Data, arity > && | getChildren () && |
Getter of the child nodes. More... | |
template<size_t N> | |
const Data & | getChild () const |
Getter of the child node based on compile time index. More... | |
template<size_t N> | |
Data & | getChild () |
Getter of the child node based on compile time index. More... | |
void | setChildren (ext::ptr_array< Data, arity > c) |
Setter of the child nodes. More... | |
template<size_t N> | |
void | setChild (const Data &d) |
Setter of the child node based on compile time index. More... | |
template<size_t N> | |
void | setChild (Data &&d) |
Setter of the child node based on compile time index. More... | |
ext::ptr_array< Data, arity >::iterator | begin () |
Getter of an iterator to the begining of children array. More... | |
ext::ptr_array< Data, arity >::const_iterator | begin () const |
Getter of an iterator to the begining of children array. More... | |
ext::ptr_array< Data, arity >::iterator | end () |
Getter of an iterator to the end of children array. More... | |
ext::ptr_array< Data, arity >::const_iterator | end () const |
Getter of an iterator to the end of children array. More... | |
Represents the iteration operator in the regular expression. The node has exactly one child.
The structure is derived from UnaryNode that provides the child node and its accessors.
The node can be visited by the UnboundedRegExpElement < SymbolType >::Visitor
SymbolType | used for the terminal alphabet |
|
explicit |
Creates a new instance of the iteration node with explicit iterated element.
element | the iterated element |
|
explicit |
Creates a new instance of the iteration node with explicit iterated element.
element | the iterated element |
|
override |
|
override |
Traverses the regexp tree and checks whether all symbols in the regexp tree are in the alphabet
alphabet | alphabet to check against |
|
override |
( ) const &
( ) const &
|
override |
( ) const &
( ) const &
|
override |
Traverses the regexp tree computing minimal alphabet needed by regexp
alphabet | All alphabet symbols encountered are added into this set |
UnboundedRegExpElement< SymbolType > & regexp::UnboundedRegExpIteration< SymbolType >::getElement |
Getter of the iterated element
const UnboundedRegExpElement< SymbolType > & regexp::UnboundedRegExpIteration< SymbolType >::getElement |
Getter of the iterated element
|
inlineoverride |
< SymbolType >::normalize ( ) &&
Abstract class representing element in the unbounded regular expression. Can be an operator, special node, or a symbol.
SymbolType | used for the terminal alphabet < SymbolType >::normalize ( ) && |
|
inlineoverride |
< SymbolType >::operator <=> ( const UnboundedRegExpElement < SymbolType > & other ) const;
Abstract class representing element in the unbounded regular expression. Can be an operator, special node, or a symbol.
SymbolType | used for the terminal alphabet < SymbolType >::operator <=> ( const UnboundedRegExpElement < SymbolType > & other ) const; |
std::strong_ordering regexp::UnboundedRegExpIteration< SymbolType >::operator<=> | ( | const UnboundedRegExpIteration< SymbolType > & | other | ) | const |
The three way comparison implementation
other | the other instance |
other
.
|
inlineoverride |
< SymbolType >::operator == ( const UnboundedRegExpElement < SymbolType > & other ) const;
Abstract class representing element in the unbounded regular expression. Can be an operator, special node, or a symbol.
SymbolType | used for the terminal alphabet < SymbolType >::operator == ( const UnboundedRegExpElement < SymbolType > & other ) const; |
bool regexp::UnboundedRegExpIteration< SymbolType >::operator== | ( | const UnboundedRegExpIteration< SymbolType > & | other | ) | const |
The equality comparison implementation.
other | the other object to compare with. |
|
override |
< UnboundedRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
< UnboundedRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
void regexp::UnboundedRegExpIteration< SymbolType >::setElement | ( | const UnboundedRegExpElement< SymbolType > & | element | ) |
Setter of the iterated element
iterated | element |
void regexp::UnboundedRegExpIteration< SymbolType >::setElement | ( | UnboundedRegExpElement< SymbolType > && | element | ) |
Setter of the iterated element
iterated | element |
|
override |