spot  1.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members
spot::saba_succ_iterator Class Referenceabstract

Iterate over the successors of a saba_state. More...

#include <saba/sabasucciter.hh>

Collaboration diagram for spot::saba_succ_iterator:
Collaboration graph

Public Member Functions

Iteration
virtual void first ()=0
 Position the iterator on the first conjunction of successors (if any). More...
 
virtual void next ()=0
 Jump to the next conjunction of successors (if any). More...
 
virtual bool done () const =0
 Check whether the iteration is finished. More...
 
Inspection
virtual saba_state_conjunctioncurrent_conjunction () const =0
 Get current conjunction of successor states. More...
 
virtual bdd current_condition () const =0
 Get the condition on the transition leading to this successor. More...
 

Detailed Description

Iterate over the successors of a saba_state.

This class provides the basic functionalities required to iterate over the successors of a state of a saba. Since transitions of an alternating automaton are defined as a boolean function with conjunctions (universal) and disjunctions (non-deterministic),

Member Function Documentation

virtual bdd spot::saba_succ_iterator::current_condition ( ) const
pure virtual

Get the condition on the transition leading to this successor.

This is a boolean function of atomic propositions.

virtual saba_state_conjunction* spot::saba_succ_iterator::current_conjunction ( ) const
pure virtual

Get current conjunction of successor states.

virtual bool spot::saba_succ_iterator::done ( ) const
pure virtual

Check whether the iteration is finished.

This function should be called after any call to first() or next() and before any enquiry about the current state.

The usual way to do this is with a for loop.

for (s->first(); !s->done(); s->next())
...
virtual void spot::saba_succ_iterator::first ( )
pure virtual

Position the iterator on the first conjunction of successors (if any).

This method can be called several times to make multiple passes over successors.

Warning
One should always call done() to ensure there is a successor, even after first(). A common trap is to assume that there is at least one successor: this is wrong.
virtual void spot::saba_succ_iterator::next ( )
pure virtual

Jump to the next conjunction of successors (if any).

Warning
Again, one should always call done() to ensure there is a successor.

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 Thu May 15 2014 11:04:11 for spot by doxygen 1.8.4