spot  0.8.2
Public Member Functions | Private Types | Private Attributes
spot::explicit_state_conjunction Class Reference

Basic implementation of saba_state_conjunction.This class provides a basic implementation to iterate over a conjunction of states of a saba. More...

#include <saba/explicitstateconjunction.hh>

Inheritance diagram for spot::explicit_state_conjunction:
Inheritance graph
[legend]
Collaboration diagram for spot::explicit_state_conjunction:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 explicit_state_conjunction ()
 explicit_state_conjunction (const explicit_state_conjunction *other)
virtual ~explicit_state_conjunction ()
explicit_state_conjunctionoperator= (const explicit_state_conjunction &o)
void add (saba_state *state)
Iteration
virtual void first ()
 Position the iterator on the first successor of the conjunction (if any).
virtual void next ()
 Jump to the next successor (if any).
virtual bool done () const
 Check whether the iteration over a conjunction of states is finished.
Inspection
explicit_state_conjunctionclone () const
 Duplicate a this conjunction.
virtual saba_statecurrent_state () const

Private Types

typedef Sgi::hash_set
< shared_saba_state,
spot::saba_state_shared_ptr_hash,
spot::saba_state_shared_ptr_equal
saba_state_set_t

Private Attributes

saba_state_set_t set_
saba_state_set_t::iterator it_

Detailed Description

Basic implementation of saba_state_conjunction.

This class provides a basic implementation to iterate over a conjunction of states of a saba.


Member Typedef Documentation


Constructor & Destructor Documentation


Member Function Documentation

Add a new state in the conjunction. The class becomes owner of state.

Duplicate a this conjunction.

Implements spot::saba_state_conjunction.

Return the a new instance on the current state. This is the caller responsibility to delete the returned state.

Implements spot::saba_state_conjunction.

virtual bool spot::explicit_state_conjunction::done ( ) const [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.

Implements spot::saba_state_conjunction.

virtual void spot::explicit_state_conjunction::first ( ) [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.

Implements spot::saba_state_conjunction.

virtual void spot::explicit_state_conjunction::next ( ) [virtual]

Jump to the next successor (if any).

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

Implements spot::saba_state_conjunction.

explicit_state_conjunction* spot::explicit_state_conjunction::operator= ( const explicit_state_conjunction o)

Member Data Documentation

saba_state_set_t::iterator spot::explicit_state_conjunction::it_ [private]

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 Thu Jan 19 2012 19:33:04 for spot by doxygen 1.7.6.1