43template <
class SymbolType >
49 visitor.
visit ( *
this );
56 visitor.
visit ( *
this );
140 if (
ext::type_index (
typeid ( *
this ) ) ==
ext::type_index (
typeid ( other ) ) )
return * this <=>
static_cast < decltype ( ( * this ) )
> ( other );
158 if (
ext::type_index (
typeid ( *
this ) ) ==
ext::type_index (
typeid ( other ) ) )
return *
this ==
static_cast < decltype ( ( * this ) )
> ( other );
189template <
class SymbolType >
191 if ( this->getChildren ( ).size ( ) != this->getSymbol ( ).getRank ( ) )
196template <
class SymbolType >
201template <
class SymbolType >
203 return new FormalRTESymbolAlphabet ( std::move ( *
this ) );
206template <
class SymbolType >
208 return this->getChildren ( );
211template <
class SymbolType >
213 return this->getChildren ( );
216template <
class SymbolType >
218 return this->getChild ( index );
221template <
class SymbolType >
223 return this->getChild ( index );
226template <
class SymbolType >
231template <
class SymbolType >
233 this->setChild ( std::move ( element ), index );
236template <
class SymbolType >
238 return std::tie ( this->getSymbol ( ), this->getChildren ( ) ) <=>
std::tie ( other.getSymbol ( ), other.getChildren ( ) );
241template <
class SymbolType >
243 return std::tie ( this->getSymbol ( ), this->getChildren ( ) ) ==
std::tie ( other.getSymbol ( ), other.getChildren ( ) );
246template <
class SymbolType >
248 out <<
"(FormalRTESymbolAlphabet " <<
" symbol = " << this->getSymbol ( ) <<
" children = " << this->getChildren ( ) <<
"})";
251template <
class SymbolType >
253 return symbol == this->getSymbol ( );
256template <
class SymbolType >
258 alphabetF.
insert ( this->getSymbol ( ) );
261 child.computeMinimalAlphabet ( alphabetF, alphabetK );
264template <
class SymbolType >
267 return e.checkAlphabet ( alphabetF, alphabetK );
static common::ranked_symbol< DefaultSymbolType > normalizeRankedSymbol(common::ranked_symbol< SymbolType > &&symbol)
Definition: SymbolNormalize.h:81
Definition: ranked_symbol.hpp:20
Basic exception from which all other exceptions are derived.
Definition: CommonException.h:21
Varary node is tree node that can hold any number of children.
Definition: tree_base.hpp:981
ext::ptr_vector< Data >::reverse_iterator insert(typename ext::ptr_vector< Data >::reverse_iterator it, const Data &d)
Inserts a new child at position specified by iterator.
Definition: tree_base.hpp:1187
Implementation of vector storing dynamicaly allocated instances of given type. The class mimicks the ...
Definition: ptr_vector.hpp:44
void push_back(R &&value)
Appends a new value at the end of the container.
Definition: ptr_vector.hpp:1228
Managed pointer simulating value like behavior.
Definition: memory.hpp:233
Definition: typeindex.h:37
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
Definition: Permutation.hpp:18
Definition: sigHandler.cpp:20
constexpr tuple< Elements &... > tie(Elements &... args) noexcept
Helper of extended tuple of references construction. The tuple is constructed to reffer to values in ...
Definition: tuple.hpp:218
auto move_copy(const T ¶m)
Allow moving of copied instance of the source.
Definition: utility.hpp:45
reference_mover< T > make_mover(T ¶m)
Move adaptor construction function specialized to lvalue reference parameter.
Definition: iterator.hpp:468
std::string to_string(const T &value)
To string method designated for objects that can be casted to string.
Definition: string.hpp:131
all_of(T &&...) -> all_of< T... >
Definition: ToFTAGlushkov.h:22
Definition: FordFulkerson.hpp:16