Homogenize passing of automata as pointers, not references.

Disallow copy for security.

* src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete): Disallow copy.
* src/tgba/tgbaexplicit.hh (tgba_explicit): Likewise.
* src/tgba/tgbaexplicit.cc (tgba_explicit::operator=,
tgba_explicit::tgba_explicit(tgba_explicit)): Remove.
* src/tgba/tgbabddconcreteproduct.cc
(tgba_bdd_concrete_product_factory::tgba_bdd_concrete_product_factory,
product): Take operand automata as pointers.
* src/tgba/tgbabddconcreteproduct.hh (product): Likewise.
* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh:
(tgba_product): Disallow copy.
(tgba_product::tgba_product): Take operand automata as pointers.
* src/tgbaalgos/dotty.cc (dotty_state, dotty_rec, dotty_reachable):
Take tgba arguments as pointer.
* src/tgbaalgos/dotty.hh (dotty_reachable): Likewise.
* src/tgbaalgos/lbtt.cc (fill_todo, lbtt_reachable): Likewise.
* src/tgbaalgos/lbtt.hh (lbtt_reachable): Likewise.
* src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.hh (ltl_to_tgba):
Likewise.
* src/tgbaalgos/save.cc (save_rec, tgba_save_reachable): Likewise.
* src/tgbaalgos/save.hh (save): Likewise.
* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
src/tgbatest/mixprod.cc, src/tgbatest/readsave.cc,
src/tgbatest/spotlbtt.cc, src/tgbatest/tgbaread.cc,
src/tgbatest/tripprod.cc: Likewise.
This commit is contained in:
Alexandre Duret-Lutz 2003-07-14 22:20:35 +00:00
parent cab3be9795
commit 66b1630c31
25 changed files with 123 additions and 104 deletions

View file

@ -88,7 +88,7 @@ main(int argc, char** argv)
spot::bdd_dict* dict = new spot::bdd_dict();
if (f)
{
spot::tgba_bdd_concrete a = spot::ltl_to_tgba(f, dict);
spot::tgba_bdd_concrete* a = spot::ltl_to_tgba(f, dict);
spot::ltl::destroy(f);
switch (output)
{
@ -96,23 +96,23 @@ main(int argc, char** argv)
spot::dotty_reachable(std::cout, a);
break;
case 1:
spot::bdd_print_dot(std::cout, a.get_dict(),
a.get_core_data().relation);
spot::bdd_print_dot(std::cout, a->get_dict(),
a->get_core_data().relation);
break;
case 2:
spot::bdd_print_dot(std::cout, a.get_dict(),
a.get_core_data().accepting_conditions);
spot::bdd_print_dot(std::cout, a->get_dict(),
a->get_core_data().accepting_conditions);
break;
case 3:
spot::bdd_print_set(std::cout, a.get_dict(),
a.get_core_data().relation);
spot::bdd_print_set(std::cout, a->get_dict(),
a->get_core_data().relation);
break;
case 4:
spot::bdd_print_set(std::cout, a.get_dict(),
a.get_core_data().accepting_conditions);
spot::bdd_print_set(std::cout, a->get_dict(),
a->get_core_data().accepting_conditions);
break;
case 5:
a.get_dict()->dump(std::cout);
a->get_dict()->dump(std::cout);
break;
case 6:
spot::lbtt_reachable(std::cout, a);
@ -120,6 +120,7 @@ main(int argc, char** argv)
default:
assert(!"unknown output option");
}
delete a;
}
else
{