42template <
class SymbolType >
48 visitor.
visit ( *
this );
55 visitor.
visit ( std::move ( *
this ) );
135 if (
ext::type_index (
typeid ( *
this ) ) ==
ext::type_index (
typeid ( other ) ) )
return * this <=>
static_cast < decltype ( ( * this ) )
> ( other );
153 if (
ext::type_index (
typeid ( *
this ) ) ==
ext::type_index (
typeid ( other ) ) )
return *
this ==
static_cast < decltype ( ( * this ) )
> ( other );
183#include "../formal/FormalRegExpIteration.h"
187template <
class SymbolType >
191template <
class SymbolType >
195template <
class SymbolType >
197 return this->getChild ( );
200template <
class SymbolType >
202 return this->getChild ( );
205template <
class SymbolType >
207 this->setChild ( std::move ( element ) );
210template <
class SymbolType >
215template <
class SymbolType >
220template <
class SymbolType >
222 return new UnboundedRegExpIteration ( std::move ( *
this ) );
225template <
class SymbolType >
230template <
class SymbolType >
232 return getElement ( ) <=> other.
getElement ( );
235template <
class SymbolType >
237 return getElement ( ) == other.
getElement ( );
240template <
class SymbolType >
242 out <<
"(RegExpUnboundedRegExpIteration " << getElement ( ) <<
")";
245template <
class SymbolType >
250template <
class SymbolType >
255template <
class SymbolType >
Unary node is specialisation of Anyary node to one child.
Definition: tree_base.hpp:377
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 iteration operator in the regular expression. The node has exactly one child.
Definition: UnboundedRegExpIteration.h:43
void computeMinimalAlphabet(ext::set< SymbolType > &alphabet) const override
Definition: UnboundedRegExpIteration.h:256
ext::smart_ptr< FormalRegExpElement< SymbolType > > asFormal() const override
Definition: UnboundedRegExpIteration.h:226
const UnboundedRegExpElement< SymbolType > & getElement() const
Definition: UnboundedRegExpIteration.h:196
bool checkAlphabet(const ext::set< SymbolType > &alphabet) const override
Definition: UnboundedRegExpIteration.h:251
bool operator==(const UnboundedRegExpElement< SymbolType > &other) const override
< SymbolType >::operator == ( const UnboundedRegExpElement < SymbolType > & other ) const;
Definition: UnboundedRegExpIteration.h:152
std::strong_ordering operator<=>(const UnboundedRegExpElement< SymbolType > &other) const override
< SymbolType >::operator <=> ( const UnboundedRegExpElement < SymbolType > & other ) const;
Definition: UnboundedRegExpIteration.h:134
void setElement(UnboundedRegExpElement< SymbolType > &&element)
Definition: UnboundedRegExpIteration.h:206
ext::smart_ptr< UnboundedRegExpElement< DefaultSymbolType > > normalize() &&override
< SymbolType >::normalize ( ) &&
Definition: UnboundedRegExpIteration.h:175
bool testSymbol(const SymbolType &symbol) const override
Definition: UnboundedRegExpIteration.h:246
UnboundedRegExpIteration(UnboundedRegExpElement< SymbolType > &&element)
Creates a new instance of the iteration node with explicit iterated element.
Definition: UnboundedRegExpIteration.h:188
void operator>>(ext::ostream &out) const override
< UnboundedRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
Definition: UnboundedRegExpIteration.h:241
UnboundedRegExpIteration< SymbolType > * clone() const &override
( ) const &
Definition: BarSymbol.cpp:12
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
Definition: sigHandler.cpp:20
auto move_copy(const T ¶m)
Allow moving of copied instance of the source.
Definition: utility.hpp:45
Definition: ToAutomaton.h:15
Definition: FordFulkerson.hpp:16