spot  0.9.1
Public Member Functions
spot::saba_succ_iterator Class Reference

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),. More...

#include <saba/sabasucciter.hh>

List of all members.

Public Member Functions

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

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),.


Constructor & Destructor Documentation

virtual spot::saba_succ_iterator::~saba_succ_iterator ( ) [inline, virtual]

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.

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 comment this page and report errors about it on the RefDocComments page.
Generated on Wed May 23 2012 12:06:46 for spot by doxygen 1.7.6.1