32 template <
class SymbolType,
class StateType >
41 for(
const auto& transition : fsm.getTransitions())
42 transitions[transition.first.first].
insert(transition.second);
47 while( !queue.empty() ) {
52 if(
visited.insert(process).second) {
53 queue.push_back(std::move(
const_cast<StateType&
>(process)));
60template <
class SymbolType,
class StateType >
64 transitions[transition.first.first].
insert(transition.second);
69 while( !queue.empty() ) {
74 if(
visited.insert(process).second) {
75 queue.push_back(std::move(
const_cast<StateType&
>(process)));
Nondeterministic finite automaton with multiple initial states. Accepts regular languages.
Definition: MultiInitialStateNFA.h:69
const ext::set< StateType > & getInitialStates() const &
Definition: MultiInitialStateNFA.h:117
const ext::multimap< ext::pair< StateType, SymbolType >, StateType > & getTransitions() const &
Definition: MultiInitialStateNFA.h:520
Definition: ReachableStates.h:25
static ext::set< typename T::StateType > reachableStates(const T &fsm)
Definition: ReachableStates.h:37
Class extending the deque class from the standard library. Original reason is to allow printing of th...
Definition: deque.hpp:44
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
std::pair< iterator, bool > insert(const T &key, const R &value)
Insert variant with explicit key and value parameters.
Definition: map.hpp:118
typename T::StateType StateType
Definition: ToGrammarLeftRG.h:64
Definition: ToGrammar.h:31