45 template <
class StateType,
class Callback >
47 if ( stateList.size ( ) == length )
49 else for (
const StateType & state : states ) {
50 stateList.push_back ( state );
51 CombinationRepetitionUtil ( states, stateList, length,
callback );
52 stateList.pop_back ( );
56 template <
class StateType,
class Callback >
59 CombinationRepetitionUtil ( states, stateList, length,
callback );
73 requires isDFA < T > || isNFA < T >
77 requires isDFTA < T > || isNFTA < T >
82requires isDFA < T > || isNFA < T >
91 res.addState ( nullState );
93 for (
const auto &
q :
res.getStates ( ) ) {
94 for (
const auto & a :
res.getInputAlphabet ( ) ) {
96 res.addTransition (
q, a, nullState );
105requires isDFTA < T > || isNFTA < T >
111 res.addState ( nullState );
113 for (
const auto & a :
res.getInputAlphabet ( ) ) {
114 unsigned rank = a.getRank ( );
116 if ( ! res.getTransitions ( ).contains ( ext::make_pair ( a, stateList ) ) ) {
117 res.addTransition ( a, stateList, nullState );
static T total(const T &automaton)
Definition: Total.h:83
static T total(const T &automaton)
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
typename T::StateType StateType
Definition: ToGrammarLeftRG.h:64
return res
Definition: MinimizeByPartitioning.h:145
q
Definition: SingleInitialStateEpsilonTransition.h:85
Definition: ToGrammar.h:31
T createUnique(T object, const Alphabets &... alphabets)
Definition: createUnique.hpp:46
int callback(struct dl_phdr_info *info, size_t, void *data)
Definition: simpleStacktrace.cpp:25
constexpr auto make_pair(T1 &&x, T2 &&y)
Definition: pair.hpp:79