41template <
class SymbolType >
52 visitor.
visit ( *
this );
59 visitor.
visit ( std::move ( *
this ) );
118 if (
ext::type_index (
typeid ( *
this ) ) ==
ext::type_index (
typeid ( other ) ) )
return * this <=>
static_cast < decltype ( ( * this ) )
> ( other );
136 if (
ext::type_index (
typeid ( *
this ) ) ==
ext::type_index (
typeid ( other ) ) )
return *
this ==
static_cast < decltype ( ( * this ) )
> ( other );
166#include "../formal/FormalRegExpSymbol.h"
170template <
class SymbolType >
174template <
class SymbolType >
179template <
class SymbolType >
181 return new UnboundedRegExpSymbol ( std::move ( *
this ) );
184template <
class SymbolType >
189template <
class SymbolType >
191 return m_symbol <=> other.m_symbol;
194template <
class SymbolType >
196 return m_symbol == other.m_symbol;
199template <
class SymbolType >
201 out <<
"(UnboundedRegExpSymbol " << m_symbol <<
")";
204template <
class SymbolType >
206 return symbol == this->m_symbol;
209template <
class SymbolType >
214template <
class SymbolType >
219template <
class SymbolType >
221 return this->m_symbol;
224template <
class SymbolType >
226 return std::move ( this->m_symbol );
static DefaultSymbolType normalizeSymbol(SymbolType &&symbol)
Definition: SymbolNormalize.h:68
Nullary node is specialisation of Anyary node to no children.
Definition: tree_base.hpp:358
Managed pointer simulating value like behavior.
Definition: memory.hpp:233
Definition: typeindex.h:37
Definition: UnboundedRegExpElement.h:81
Definition: UnboundedRegExpElement.h:67
virtual void visit(const UnboundedRegExpAlternation< SymbolType > &)=0
Definition: UnboundedRegExpElement.h:62
Represents the symbol in the regular expression. The can't have any children.
Definition: UnboundedRegExpSymbol.h:42
bool checkAlphabet(const ext::set< SymbolType > &alphabet) const override
Definition: UnboundedRegExpSymbol.h:210
const SymbolType & getSymbol() const &
Definition: UnboundedRegExpSymbol.h:220
ext::smart_ptr< FormalRegExpElement< SymbolType > > asFormal() const override
Definition: UnboundedRegExpSymbol.h:185
void operator>>(ext::ostream &out) const override
< UnboundedRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
Definition: UnboundedRegExpSymbol.h:200
ext::smart_ptr< UnboundedRegExpElement< DefaultSymbolType > > normalize() &&override
< SymbolType >::normalize ( ) &&
Definition: UnboundedRegExpSymbol.h:158
void computeMinimalAlphabet(ext::set< SymbolType > &alphabet) const override
Definition: UnboundedRegExpSymbol.h:215
bool operator==(const UnboundedRegExpElement< SymbolType > &other) const override
< SymbolType >::operator == ( const UnboundedRegExpElement < SymbolType > & other ) const;
Definition: UnboundedRegExpSymbol.h:135
bool testSymbol(const SymbolType &symbol) const override
Definition: UnboundedRegExpSymbol.h:205
UnboundedRegExpSymbol(SymbolType symbol)
Creates a new instance of the symbol node using the actual symbol to represent.
Definition: UnboundedRegExpSymbol.h:171
std::strong_ordering operator<=>(const UnboundedRegExpElement< SymbolType > &other) const override
< SymbolType >::operator <=> ( const UnboundedRegExpElement < SymbolType > & other ) const;
Definition: UnboundedRegExpSymbol.h:117
UnboundedRegExpSymbol< SymbolType > * clone() const &override
( ) const &
Definition: BarSymbol.cpp:12
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
Definition: sigHandler.cpp:20
Definition: ToAutomaton.h:15
Definition: FordFulkerson.hpp:16