spot  1.0.2
Public Member Functions | Private Types | Private Attributes | List of all members
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
Collaboration diagram for spot::explicit_state_conjunction:
Collaboration graph

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
saba_state_set_t spot::explicit_state_conjunction::set_
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 Wed Mar 6 2013 09:25:15 for spot by doxygen 1.8.1.2