30template <
class SymbolType = DefaultSymbolType >
35#include <ext/iostream>
36#include <ext/algorithm>
49#include "../formal/FormalRegExp.h"
79template <
class SymbolType >
123 return this->
template accessComponent < GeneralAlphabet > ( ).get ( );
132 return std::move ( this->
template accessComponent < GeneralAlphabet > ( ).
get ( ) );
164 return std::tie ( m_regExp.getStructure ( ),
getAlphabet ( ) ) <=>
std::tie ( other.m_regExp.getStructure ( ), other.getAlphabet ( ) );
187 return out <<
"(UnboundedRegExp " << instance.
getRegExp ( ).getStructure ( ) <<
")";
191template <
class SymbolType >
193 if ( !this->m_regExp.getStructure ( ).checkAlphabet ( getAlphabet ( ) ) )
197template <
class SymbolType >
201template <
class SymbolType >
205template <
class SymbolType >
209template <
class SymbolType >
214template <
class SymbolType >
216 return std::move ( m_regExp );
219template <
class SymbolType >
221 if ( !param.getStructure ( ).checkAlphabet ( getAlphabet ( ) ) )
224 this->m_regExp = std::move ( param );
236template <
class SymbolType >
248 return regexp.getRegExp ( ).getStructure ( ).testSymbol ( symbol );
278template <
class SymbolType >
static ext::set< DefaultSymbolType > normalizeAlphabet(ext::set< SymbolType > &&symbols)
Definition: SymbolNormalize.h:50
Definition: components.hpp:181
static void valid(const regexp::UnboundedRegExp< SymbolType > &, const SymbolType &)
Definition: UnboundedRegExp.h:269
static bool used(const regexp::UnboundedRegExp< SymbolType > ®exp, const SymbolType &symbol)
Definition: UnboundedRegExp.h:247
static bool available(const regexp::UnboundedRegExp< SymbolType > &, const SymbolType &)
Definition: UnboundedRegExp.h:259
Definition: setComponents.hpp:26
Basic exception from which all other exceptions are derived.
Definition: CommonException.h:21
Represents unbounded regular expression structure. Regular expression is stored as a tree of Unbounde...
Definition: UnboundedRegExpStructure.h:47
Unbounded regular expression represents regular expression. It describes regular languages....
Definition: UnboundedRegExp.h:80
ext::set< SymbolType > && getAlphabet() &&
Definition: UnboundedRegExp.h:131
SymbolType symbol_type
Definition: UnboundedRegExp.h:90
const ext::set< SymbolType > & getAlphabet() const &
Definition: UnboundedRegExp.h:122
UnboundedRegExp()
Creates a new instance of the expression. The default constructor creates expression describing empty...
Definition: UnboundedRegExp.h:198
friend ext::ostream & operator<<(ext::ostream &out, const UnboundedRegExp &instance)
Definition: UnboundedRegExp.h:186
bool operator==(const UnboundedRegExp &other) const
Definition: UnboundedRegExp.h:174
void setRegExp(UnboundedRegExpStructure< SymbolType > param)
Definition: UnboundedRegExp.h:220
const UnboundedRegExpStructure< SymbolType > & getRegExp() const &
Definition: UnboundedRegExp.h:210
Definition: BarSymbol.cpp:12
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
Definition: normalize.hpp:10
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
Definition: ToAutomaton.h:15
auto & get(ext::ptr_array< Type, N > &tpl)
Specialisation of get function for pointer arrays.
Definition: ptr_array.hpp:693
static regexp::UnboundedRegExp< > eval(regexp::UnboundedRegExp< SymbolType > &&value)
Definition: UnboundedRegExp.h:280
Definition: normalize.hpp:13