19 #ifndef SPOT_FASTTGBA_FASTTGBA_EXPLICIT_HH
20 # define SPOT_FASTTGBA_FASTTGBA_EXPLICIT_HH
23 #include "fasttgba.hh"
24 #include "misc/hash.hh"
28 class fast_explicit_state;
80 virtual size_t hash()
const;
83 virtual int label()
const;
87 void add_successor(
const struct transition *t);
112 std::vector<int> crossref_;
113 std::vector<int>::const_iterator it_ref;
116 bool swarming =
false);
118 virtual void first();
120 virtual bool done()
const;
172 markset all_acceptance_marks()
const;
175 unsigned int number_of_acceptance_marks()
const;
207 void add_transition(
int src,
int dst,
222 typedef Sgi::hash_map<int, fast_explicit_state*, identity_hash<int> > sm;
224 aut_strength strength_;
228 #endif // SPOT_FASTTGBA_FASTTGBA_EXPLICIT_HH
Definition: fasttgba_explicit.hh:132
ap_dict * aps_
The set of atomic proposition.
Definition: fasttgba_explicit.hh:218
the structure that will store the successors of a state
Definition: fasttgba_explicit.hh:33
void set_strength(aut_strength s)
set the strength of an automaton
Definition: fasttgba_explicit.hh:211
std::vector< const struct transition * >::const_iterator it_
current iterator
Definition: fasttgba_explicit.hh:110
Definition: fasttgba.hh:33
This class act as an interface for all classes.
Definition: fasttgba_state.hh:30
Abstract class for states.
Definition: state.hh:40
acc_dict * acc_
The set of acceptance mark.
Definition: fasttgba_explicit.hh:219
aut_strength get_strength() const
Ease to detect the strength of an automaton.
Definition: fasttgba_explicit.hh:183
virtual void next()
Jump to the next successor (if any).
const fast_explicit_state * dst
the destination state
Definition: fasttgba_explicit.hh:37
virtual fasttgba_state * current_state() const
Get the state of the current successor.
virtual fasttgba_state * clone() const
Duplicate a state.
std::vector< const struct transition * > successors
list of successors
Definition: fasttgba_explicit.hh:94
This class represents conjunction of variables.
Definition: cube.hh:34
This class is used to create a dictionary that will contain all atomic propositions that are needed b...
Definition: ap_dict.hh:41
void set_strength(enum scc_strength str)
the strength of the SCC
scc_strength
this enum is used to provide the stregth of the SCC
Definition: fasttgba_explicit.hh:53
virtual bool done() const
Check whether the iteration is finished.
virtual cube current_condition() const
Get the condition on the transition leading to this successor.
Iterate over the successors of a state.
Definition: fasttgba_succ_iterator.hh:35
virtual size_t hash() const
Hash a state.
This class represents a set of acceptance marks.
Definition: markset.hh:35
virtual int compare(const fasttgba_state *other) const
Compares two states (that come from the same automaton).
Definition: fasttgba_explicit.hh:72
virtual void first()
Position the iterator on the first successor (if any).
const fast_explicit_state * start_
src of iterator
Definition: fasttgba_explicit.hh:108
virtual void * external_information() const
cube conditions
condition over an arc
Definition: fasttgba_explicit.hh:35
Definition: acc_dict.hh:31
virtual void destroy() const
Release a state.
markset all_marks_
the set of acceptance mark
Definition: fasttgba_explicit.hh:217
sm state_map_
The states of the automaton.
Definition: fasttgba_explicit.hh:223
virtual markset current_acceptance_marks() const
Get the acceptance conditions on the transition leading to this successor.
an iterator for fast_explicit_state
Definition: fasttgba_explicit.hh:105
markset acceptance_marks
acceptance mark over an arc
Definition: fasttgba_explicit.hh:36