20 #ifndef SPOT_TGBA_TAATGBA_HH
21 # define SPOT_TGBA_TAATGBA_HH
41 typedef std::list<transition*>
state;
60 const tgba* global_automaton = 0)
const;
70 typedef std::vector<taa_tgba::state_set*>
ss_vec;
95 virtual size_t hash()
const;
116 virtual void first();
118 virtual bool done()
const;
135 public std::binary_function<const iterator_pair&,
136 const iterator_pair&, bool>
141 return std::distance(lhs.first, lhs.second) <
142 std::distance(rhs.first, rhs.second);
146 std::vector<taa_tgba::transition*>::const_iterator
i_;
147 std::vector<taa_tgba::transition*>
succ_;
154 template<
typename label,
typename label_hash>
162 std::vector<label> v(1);
173 const std::vector<label>& d)
187 std::vector<std::string> vec;
197 bdd neg = bdd_nithvar(v);
201 typename ns_map::iterator i;
204 taa_tgba::state::iterator i2;
205 for (i2 = i->second->begin(); i2 != i->second->end(); ++i2)
206 (*i2)->acceptance_conditions &= neg;
215 bdd v = bdd_ithvar(i->second);
238 typename ns_map::const_iterator i;
241 taa_tgba::state::const_iterator i2;
243 for (i2 = i->second->begin(); i2 != i->second->end(); ++i2)
246 <<
", C:" << (*i2)->condition
247 <<
", A:" << (*i2)->acceptance_conditions << std::endl;
280 const label& name_ =
clone_if(name);
293 for (
unsigned i = 0; i < names.size(); ++i)
301 state_set::const_iterator i1 = ss->begin();
302 typename sn_map::const_iterator i2;
304 return std::string(
"{}");
313 std::string res(
"{");
314 while (i1 != ss->end())
321 res[res.size() - 1] =
'}';
336 virtual std::string
clone_if(
const std::string& label)
const;
352 #endif // SPOT_TGBA_TAATGBA_HH