|
Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Represents the symbol in the regular expression. The can't have any children. More...
#include <UnboundedRegExpSymbol.h>
Public Member Functions | |
| UnboundedRegExpSymbol (SymbolType symbol) | |
| Creates a new instance of the symbol node using the actual symbol to represent. More... | |
| UnboundedRegExpSymbol< SymbolType > * | clone () const &override |
| ( ) const & More... | |
| UnboundedRegExpSymbol< 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 SymbolType & | getSymbol () const & |
| SymbolType && | getSymbol () && |
| std::strong_ordering | operator<=> (const UnboundedRegExpElement< SymbolType > &other) const override |
| < SymbolType >::operator <=> ( const UnboundedRegExpElement < SymbolType > & other ) const; More... | |
| std::strong_ordering | operator<=> (const UnboundedRegExpSymbol< SymbolType > &) const |
| bool | operator== (const UnboundedRegExpElement< SymbolType > &other) const override |
| < SymbolType >::operator == ( const UnboundedRegExpElement < SymbolType > & other ) const; More... | |
| bool | operator== (const UnboundedRegExpSymbol< 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... | |
Public Member Functions inherited from ext::NullaryNode< UnboundedRegExpElement< SymbolType > > | |
| NullaryNode () | |
| The default constructor of the class. More... | |
Public Member Functions inherited from ext::AnyaryNode< Data, arity, Base > | |
| 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 symbol in the regular expression. The 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 |
|
explicit |
Creates a new instance of the symbol node using the actual symbol to represent.
| symbol | the value of the represented symbol |
|
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 |
| SymbolType && regexp::UnboundedRegExpSymbol< SymbolType >::getSymbol | ( | ) | && |
Getter of the symbol.
| const SymbolType & regexp::UnboundedRegExpSymbol< SymbolType >::getSymbol | ( | ) | const & |
Getter of the symbol.
|
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::UnboundedRegExpSymbol< SymbolType >::operator<=> | ( | const UnboundedRegExpSymbol< 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::UnboundedRegExpSymbol< SymbolType >::operator== | ( | const UnboundedRegExpSymbol< 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 & )
|
override |