Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Represents the epsilon expression in the regular expression. The node can't have any children. More...
#include <UnboundedRegExpEpsilon.h>
Public Member Functions | |
UnboundedRegExpEpsilon ()=default | |
Creates a new instance of the epsilon node. More... | |
UnboundedRegExpEpsilon< SymbolType > * | clone () const &override |
( ) const & More... | |
UnboundedRegExpEpsilon< 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 |
std::strong_ordering | operator<=> (const UnboundedRegExpElement< SymbolType > &other) const override |
< SymbolType >::operator <=> ( const UnboundedRegExpElement < SymbolType > & other ) const; More... | |
std::strong_ordering | operator<=> (const UnboundedRegExpEpsilon< SymbolType > &) const |
bool | operator== (const UnboundedRegExpElement< SymbolType > &other) const override |
< SymbolType >::operator == ( const UnboundedRegExpElement < SymbolType > & other ) const; More... | |
bool | operator== (const UnboundedRegExpEpsilon< 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... | |
![]() | |
NullaryNode () | |
The default constructor of the class. 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 epsilon expression in the regular expression. The node can't have any children.
The structure is derived from NullaryNode disallowing adding any child.
The node can be visited by the UnboundedRegExpElement < SymbolType >::Visitor
SymbolType | used for the terminal alphabet |
|
explicitdefault |
Creates a new instance of the epsilon node.
|
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 |
|
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::UnboundedRegExpEpsilon< SymbolType >::operator<=> | ( | const UnboundedRegExpEpsilon< SymbolType > & | ) | 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::UnboundedRegExpEpsilon< SymbolType >::operator== | ( | const UnboundedRegExpEpsilon< SymbolType > & | ) | const |
The equality comparison implementation.
other | the other object to compare with. |
|
override |
< UnboundedRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
< UnboundedRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
|
override |