Public Member Functions | Private Types | Private Attributes

spot::explicit_state_conjunction Class Reference
[Essential SABA types]

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

spot::explicit_state_conjunction::explicit_state_conjunction (  ) 
spot::explicit_state_conjunction::explicit_state_conjunction ( const explicit_state_conjunction other  ) 
virtual spot::explicit_state_conjunction::~explicit_state_conjunction (  )  [virtual]

Member Function Documentation

void spot::explicit_state_conjunction::add ( saba_state state  ) 

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

explicit_state_conjunction* spot::explicit_state_conjunction::clone (  )  const [virtual]

Duplicate a this conjunction.

Implements spot::saba_state_conjunction.

virtual saba_state* spot::explicit_state_conjunction::current_state (  )  const [virtual]

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 Mon Feb 7 2011 14:29:30 for spot by doxygen 1.7.1