25 #include <spot/misc/hash.hh>
26 #include <spot/twa/twa.hh>
54 virtual void add_state(
const state* s) = 0;
56 virtual const state* next_state() = 0;
61 virtual bool want_state(
const state* s)
const;
86 virtual void process_link(
const state* in_s,
int in,
87 const state* out_s,
int out,
93 typedef std::unordered_map<
const state*, int,
107 virtual void add_state(
const state* s);
108 virtual const state* next_state();
131 virtual bool want_state(
const state* s)
const;
134 virtual void start();
156 virtual void process_link(
const state* in_s,
int in,
157 const state* out_s,
int out,
163 typedef std::unordered_map<
const state*, int,
175 virtual void push(
const state* s,
int sn);
196 virtual void push(
const state* s,
int sn);
199 std::unordered_set<int> stack_;
virtual void pop()
Pop the DFS stack.
const_twa_ptr aut_
The spot::tgba to explore.
Definition: reachiter.hh:161
An Equivalence Relation for state*.
Definition: twa.hh:141
bool on_stack(int sn) const
Whether state sn is on the DFS stack.
const_twa_ptr aut_
The spot::tgba to explore.
Definition: reachiter.hh:91
Abstract class for states.
Definition: twa.hh:43
virtual void push(const state *s, int sn)
Push a new state in todo.
seen_map seen
States already seen.
Definition: reachiter.hh:95
seen_map seen
States already seen.
Definition: reachiter.hh:165
Iterate over all reachable states of a spot::tgba.
Definition: reachiter.hh:34
Iterate over the successors of a state.
Definition: twa.hh:332
An implementation of spot::tgba_reachable_iterator that browses states breadth first.
Definition: reachiter.hh:101
Hash Function for state*.
Definition: twa.hh:165
Iterate over all states of an automaton using a DFS.
Definition: reachiter.hh:185
Iterate over all states of an automaton using a DFS.
Definition: reachiter.hh:116
std::deque< stack_item > todo
the DFS stack
Definition: reachiter.hh:172
std::deque< const state * > todo
A queue of states yet to explore.
Definition: reachiter.hh:111
Definition: reachiter.hh:166