spot  1.2.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
spot::saba_state_conjunction Class Referenceabstract

Iterate over a conjunction of saba_state. More...

#include <saba/sabasucciter.hh>

Inheritance diagram for spot::saba_state_conjunction:
Inheritance graph
Collaboration diagram for spot::saba_state_conjunction:
Collaboration graph

Public Member Functions

virtual saba_state_conjunctionclone () const =0
 Duplicate a saba_state conjunction. More...
 
Iteration
virtual void first ()=0
 Position the iterator on the first successor of the conjunction (if any). More...
 
virtual void next ()=0
 Jump to the next successor (if any). More...
 
virtual bool done () const =0
 Check whether the iteration over a conjunction of states is finished. More...
 
Inspection
virtual saba_statecurrent_state () const =0
 Get the state of the current successor. More...
 

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.

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 direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Sat Dec 6 2014 12:28:44 for spot by doxygen 1.8.4