#include <reachiter.hh>
Inheritance diagram for spot::tgba_reachable_iterator_depth_first:
Public Member Functions | |
tgba_reachable_iterator_depth_first (const tgba *a) | |
virtual void | add_state (const state *s) |
virtual const state * | next_state () |
Called by run() to obtain the. | |
void | run () |
Iterate over all reachable states of a spot::tgba. | |
virtual void | start () |
Called by run() before starting its iteration. | |
virtual void | end () |
Called by run() once all states have been explored. | |
virtual void | process_state (const state *s, int n, tgba_succ_iterator *si) |
virtual void | process_link (int in, int out, const tgba_succ_iterator *si) |
Protected Types | |
typedef Sgi::hash_map< const state *, int, state_ptr_hash, state_ptr_equal > | seen_map |
Protected Attributes | |
std::stack< const state * > | todo |
A stack of states yet to explore. | |
const tgba * | automata_ |
The spot::tgba to explore. | |
seen_map | seen |
States already seen. |
|
|
|
|
|
Implements spot::tgba_reachable_iterator. |
|
Called by run() once all states have been explored.
|
|
Called by run() to obtain the.
Implements spot::tgba_reachable_iterator. |
|
Called by run() to process a transition.
|
|
Called by run() to process a state.
|
|
Iterate over all reachable states of a spot::tgba. This is a template method that will call add_state(), next_state(), start(), end(), process_state(), and process_link(), while it iterate over state. |
|
Called by run() before starting its iteration.
|
|
The spot::tgba to explore.
|
|
States already seen.
|
|
A stack of states yet to explore.
|