spot  1.2.1a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
spot::fast_explicit_iterator Class Reference

an iterator for fast_explicit_state More...

#include <fasttgba/fasttgba_explicit.hh>

Inheritance diagram for spot::fast_explicit_iterator:
Inheritance graph
Collaboration diagram for spot::fast_explicit_iterator:
Collaboration graph

Public Member Functions

 fast_explicit_iterator (const fast_explicit_state *state, bool swarming=false)
 
virtual void first ()
 Position the iterator on the first successor (if any). More...
 
virtual void next ()
 Jump to the next successor (if any). More...
 
virtual bool done () const
 Check whether the iteration is finished. More...
 
virtual fasttgba_statecurrent_state () const
 Get the state of the current successor. More...
 
virtual cube current_condition () const
 Get the condition on the transition leading to this successor. More...
 
virtual markset current_acceptance_marks () const
 Get the acceptance conditions on the transition leading to this successor. More...
 

Protected Attributes

const fast_explicit_statestart_
 src of iterator More...
 
std::vector< const struct
transition * >::const_iterator 
it_
 current iterator More...
 
bool swarming_
 
std::vector< int > crossref_
 
std::vector< int >::const_iterator it_ref
 

Detailed Description

an iterator for fast_explicit_state

This class brings noting particular just an implementation

Member Function Documentation

virtual markset spot::fast_explicit_iterator::current_acceptance_marks ( ) const
virtual

Get the acceptance conditions on the transition leading to this successor.

Implements spot::fasttgba_succ_iterator.

virtual cube spot::fast_explicit_iterator::current_condition ( ) const
virtual

Get the condition on the transition leading to this successor.

This is a boolean function of atomic propositions.

Implements spot::fasttgba_succ_iterator.

virtual fasttgba_state* spot::fast_explicit_iterator::current_state ( ) const
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.

The returned state should be destroyed (see state::destroy) by the caller after it is no longer used.

Implements spot::fasttgba_succ_iterator.

virtual bool spot::fast_explicit_iterator::done ( ) const
virtual

Check whether the iteration is finished.

This function should be called after any call to first() or next() and before any enquiry about the current state.

The usual way to do this is with a for loop.

* for (s->first(); !s->done(); s->next())
* ...
*

Implements spot::fasttgba_succ_iterator.

virtual void spot::fast_explicit_iterator::first ( )
virtual

Position the iterator on the first successor (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::fasttgba_succ_iterator.

virtual void spot::fast_explicit_iterator::next ( )
virtual

Jump to the next successor (if any).

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

Implements spot::fasttgba_succ_iterator.

Member Data Documentation

std::vector<const struct transition*>::const_iterator spot::fast_explicit_iterator::it_
protected

current iterator

const fast_explicit_state* spot::fast_explicit_iterator::start_
protected

src of iterator


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 Tue Jan 21 2014 16:52:02 for spot by doxygen 1.8.5