22 #ifndef SPOT_TGBA_TAATGBA_HH
23 # define SPOT_TGBA_TAATGBA_HH
43 typedef std::list<transition*>
state;
62 const tgba* global_automaton = 0)
const;
72 typedef std::vector<taa_tgba::state_set*>
ss_vec;
97 virtual size_t hash()
const;
118 virtual void first();
120 virtual bool done()
const;
137 public std::binary_function<const iterator_pair&,
138 const iterator_pair&, bool>
143 return std::distance(lhs.first, lhs.second) <
144 std::distance(rhs.first, rhs.second);
148 std::vector<taa_tgba::transition*>::const_iterator
i_;
149 std::vector<taa_tgba::transition*>
succ_;
156 template<
typename label,
typename label_hash>
164 std::vector<label> v(1);
175 const std::vector<label>& d)
189 std::vector<std::string> vec;
199 bdd neg = bdd_nithvar(v);
203 typename ns_map::iterator i;
206 taa_tgba::state::iterator i2;
207 for (i2 = i->second->begin(); i2 != i->second->end(); ++i2)
208 (*i2)->acceptance_conditions &= neg;
217 bdd v = bdd_ithvar(i->second);
240 typename ns_map::const_iterator i;
243 taa_tgba::state::const_iterator i2;
245 for (i2 = i->second->begin(); i2 != i->second->end(); ++i2)
248 <<
", C:" << (*i2)->condition
249 <<
", A:" << (*i2)->acceptance_conditions << std::endl;
282 const label& name_ =
clone_if(name);
295 for (
unsigned i = 0; i < names.size(); ++i)
303 state_set::const_iterator i1 = ss->begin();
304 typename sn_map::const_iterator i2;
306 return std::string(
"{}");
315 std::string res(
"{");
316 while (i1 != ss->end())
323 res[res.size() - 1] =
'}';
338 virtual std::string
clone_if(
const std::string& label)
const;
354 #endif // SPOT_TGBA_TAATGBA_HH