spot  2.11.6
Public Member Functions | Protected Attributes | List of all members
spot::ta_reachable_iterator_breadth_first Class Reference

An implementation of spot::ta_reachable_iterator that browses states breadth first. More...

#include <spot/taalgos/reachiter.hh>

Inheritance diagram for spot::ta_reachable_iterator_breadth_first:
Collaboration diagram for spot::ta_reachable_iterator_breadth_first:

Public Member Functions

 ta_reachable_iterator_breadth_first (const const_ta_ptr &a)
 
virtual void add_state (const state *s) override
 Called by run() to obtain the next state to process. More...
 
virtual const statenext_state () override
 Called by run() to obtain the next state to process. More...
 
void run ()
 Iterate over all reachable states of a spot::ta. More...
 
virtual bool want_state (const state *s) const
 
virtual void start ()
 Called by run() before starting its iteration. More...
 
virtual void end ()
 Called by run() once all states have been explored. More...
 
virtual void process_state (const state *s, int n)
 
virtual void process_link (int in, int out, const ta_succ_iterator *si)
 

Protected Attributes

std::deque< const state * > todo
 A queue of states yet to explore. More...
 
const_ta_ptr t_automata_
 The spot::ta to explore. More...
 
state_map< int > seen
 States already seen. More...
 

Detailed Description

An implementation of spot::ta_reachable_iterator that browses states breadth first.

Member Function Documentation

◆ add_state()

virtual void spot::ta_reachable_iterator_breadth_first::add_state ( const state s)
overridevirtual

Called by run() to obtain the next state to process.

Implements spot::ta_reachable_iterator.

◆ end()

virtual void spot::ta_reachable_iterator::end ( )
virtualinherited

Called by run() once all states have been explored.

◆ next_state()

virtual const state* spot::ta_reachable_iterator_breadth_first::next_state ( )
overridevirtual

Called by run() to obtain the next state to process.

Implements spot::ta_reachable_iterator.

◆ process_link()

virtual void spot::ta_reachable_iterator::process_link ( int  in,
int  out,
const ta_succ_iterator si 
)
virtualinherited

Called by run() to process a transition.

Parameters
inThe source state number.
outThe destination state number.
siThe spot::twa_succ_iterator positionned on the current transition.

◆ process_state()

virtual void spot::ta_reachable_iterator::process_state ( const state s,
int  n 
)
virtualinherited

Called by run() to process a state.

Parameters
sThe current state.
nA unique number assigned to s.

◆ run()

void spot::ta_reachable_iterator::run ( )
inherited

Iterate over all reachable states of a spot::ta.

This is a template method that will call add_state(), next_state(), start(), end(), process_state(), and process_link(), while it iterates over states.

◆ start()

virtual void spot::ta_reachable_iterator::start ( )
virtualinherited

Called by run() before starting its iteration.

◆ want_state()

virtual bool spot::ta_reachable_iterator::want_state ( const state s) const
virtualinherited

Called by add_state or next_states implementations to filter states. Default implementation always return true.

Member Data Documentation

◆ seen

state_map<int> spot::ta_reachable_iterator::seen
protectedinherited

States already seen.

◆ t_automata_

const_ta_ptr spot::ta_reachable_iterator::t_automata_
protectedinherited

The spot::ta to explore.

◆ todo

std::deque<const state*> spot::ta_reachable_iterator_breadth_first::todo
protected

A queue of states yet to explore.


The documentation for this class was generated from the following file:

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Fri Feb 27 2015 10:00:07 for spot by doxygen 1.9.1