spot
0.9.1
|
An implementation of spot::evtgba_reachable_iterator that browses states breadth first. More...
#include <evtgbaalgos/reachiter.hh>
Public Member Functions | |
evtgba_reachable_iterator_breadth_first (const evtgba *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::evtgba. | |
virtual void | start (int n) |
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, evtgba_iterator *si) |
virtual void | process_link (int in, int out, const evtgba_iterator *si) |
Protected Types | |
typedef Sgi::hash_map< const state *, int, state_ptr_hash, state_ptr_equal > | seen_map |
Protected Attributes | |
std::deque< const state * > | todo |
A queue of states yet to explore. | |
const evtgba * | automata_ |
The spot::evtgba to explore. | |
seen_map | seen |
States already seen. |
An implementation of spot::evtgba_reachable_iterator that browses states breadth first.
typedef Sgi::hash_map<const state*, int, state_ptr_hash, state_ptr_equal> spot::evtgba_reachable_iterator::seen_map [protected, inherited] |
spot::evtgba_reachable_iterator_breadth_first::evtgba_reachable_iterator_breadth_first | ( | const evtgba * | a | ) |
virtual void spot::evtgba_reachable_iterator_breadth_first::add_state | ( | const state * | s | ) | [virtual] |
Implements spot::evtgba_reachable_iterator.
virtual void spot::evtgba_reachable_iterator::end | ( | ) | [virtual, inherited] |
Called by run() once all states have been explored.
virtual const state* spot::evtgba_reachable_iterator_breadth_first::next_state | ( | ) | [virtual] |
Called by run() to obtain the.
Implements spot::evtgba_reachable_iterator.
virtual void spot::evtgba_reachable_iterator::process_link | ( | int | in, |
int | out, | ||
const evtgba_iterator * | si | ||
) | [virtual, inherited] |
Called by run() to process a transition.
in | The source state number. |
out | The destination state number. |
si | The spot::evtgba_iterator positionned on the current transition. |
virtual void spot::evtgba_reachable_iterator::process_state | ( | const state * | s, |
int | n, | ||
evtgba_iterator * | si | ||
) | [virtual, inherited] |
Called by run() to process a state.
s | The current state. |
n | An unique number assigned to s. |
si | The spot::evtgba_iterator for s. |
void spot::evtgba_reachable_iterator::run | ( | ) | [inherited] |
Iterate over all reachable states of a spot::evtgba.
This is a template method that will call add_state(), next_state(), start(), end(), process_state(), and process_link(), while it iterate over state.
virtual void spot::evtgba_reachable_iterator::start | ( | int | n | ) | [virtual, inherited] |
Called by run() before starting its iteration.
n | The number of initial states. |
const evtgba* spot::evtgba_reachable_iterator::automata_ [protected, inherited] |
The spot::evtgba to explore.
seen_map spot::evtgba_reachable_iterator::seen [protected, inherited] |
States already seen.
std::deque<const state*> spot::evtgba_reachable_iterator_breadth_first::todo [protected] |
A queue of states yet to explore.