spot
0.8.3
|
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>
Public Member Functions | |
explicit_state_conjunction () | |
explicit_state_conjunction (const explicit_state_conjunction *other) | |
virtual | ~explicit_state_conjunction () |
explicit_state_conjunction * | operator= (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_conjunction * | clone () const |
Duplicate a this conjunction. | |
virtual saba_state * | current_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_ |
Basic implementation of saba_state_conjunction.
This class provides a basic implementation to iterate over a conjunction of states of a saba.
typedef Sgi::hash_set<shared_saba_state, spot::saba_state_shared_ptr_hash, spot::saba_state_shared_ptr_equal> spot::explicit_state_conjunction::saba_state_set_t [private] |
spot::explicit_state_conjunction::explicit_state_conjunction | ( | const explicit_state_conjunction * | other | ) |
virtual spot::explicit_state_conjunction::~explicit_state_conjunction | ( | ) | [virtual] |
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.
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).
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 | ) |
saba_state_set_t::iterator spot::explicit_state_conjunction::it_ [private] |