spot::saba_state_conjunction Class Reference
[Essential SABA types]

Iterate over a conjunction of saba_state.This class provides the basic functionalities required to iterate over a conjunction of states of a saba. More...

#include <saba/sabasucciter.hh>

Inheritance diagram for spot::saba_state_conjunction:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~saba_state_conjunction ()
virtual saba_state_conjunctionclone () const =0
 Duplicate a saba_state conjunction.
Iteration

virtual void first ()=0
 Position the iterator on the first successor of the conjunction (if any).
virtual void next ()=0
 Jump to the next successor (if any).
virtual bool done () const =0
 Check whether the iteration over a conjunction of states is finished.
Inspection

virtual saba_statecurrent_state () const =0
 Get the state of the current successor.

Detailed Description

Iterate over a conjunction of saba_state.

This class provides the basic functionalities required to iterate over a conjunction of states of a saba.


Constructor & Destructor Documentation

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

Member Function Documentation

virtual saba_state_conjunction* spot::saba_state_conjunction::clone (  )  const [pure virtual]

Duplicate a saba_state conjunction.

Implemented in spot::explicit_state_conjunction.

virtual saba_state* spot::saba_state_conjunction::current_state (  )  const [pure virtual]

Get the state of the current successor.

Note that the same state may occur at different points in the iteration. These actually correspond to the same destination. It just means there were several transitions, with different conditions, leading to the same state.

Warning:
the state is allocated with new, its deletion is the responsibility of the caller.

Implemented in spot::explicit_state_conjunction.

virtual bool spot::saba_state_conjunction::done (  )  const [pure virtual]

Check whether the iteration over a conjunction of states is finished.

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

Implemented in spot::explicit_state_conjunction.

virtual void spot::saba_state_conjunction::first (  )  [pure virtual]

Position the iterator on the first successor of the conjunction (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.

Implemented in spot::explicit_state_conjunction.

virtual void spot::saba_state_conjunction::next (  )  [pure virtual]

Jump to the next successor (if any).

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

Implemented in spot::explicit_state_conjunction.


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 Fri Apr 16 09:42:41 2010 for spot by doxygen 1.6.3