Fix tgta_explicit not to inherit from ta_explicit to please clang++.
* src/ta/tgtaexplicit.cc, src/ta/tgtaexplicit.hh: Use a ta_explicit attribute instead of inheriting from it. (get_ta): New method. * src/taalgos/minimize.cc, src/taalgos/minimize.hh, src/taalgos/tgba2ta.cc, src/tgbatest/ltl2tgba.cc: Adjust usage. * wrap/python/spot.i (as_ta): Remove, now that we have get_ta. * wrap/python/ajax/spot.in: Use get_ta instead of as_ta.
This commit is contained in:
parent
d4130f15bf
commit
941cb0b57b
8 changed files with 59 additions and 69 deletions
|
|
@ -33,66 +33,67 @@ namespace spot
|
|||
tgta_explicit::tgta_explicit(const tgba* tgba, bdd all_acceptance_conditions,
|
||||
state_ta_explicit* artificial_initial_state,
|
||||
bool own_tgba) :
|
||||
ta_explicit(tgba, all_acceptance_conditions, artificial_initial_state, own_tgba)
|
||||
ta_(tgba, all_acceptance_conditions, artificial_initial_state, own_tgba)
|
||||
{
|
||||
}
|
||||
|
||||
state*
|
||||
tgta_explicit::get_init_state() const
|
||||
{
|
||||
return ta_explicit::get_artificial_initial_state();
|
||||
return ta_.get_artificial_initial_state();
|
||||
}
|
||||
|
||||
tgba_succ_iterator*
|
||||
tgta_explicit::succ_iter(const spot::state* state, const spot::state*,
|
||||
const tgba*) const
|
||||
const tgba*) const
|
||||
{
|
||||
return ta_explicit::succ_iter(state);
|
||||
return ta_.succ_iter(state);
|
||||
}
|
||||
|
||||
bdd
|
||||
tgta_explicit::compute_support_conditions(const spot::state* in) const
|
||||
{
|
||||
return get_tgba()->support_conditions(
|
||||
((const state_ta_explicit*) in)->get_tgba_state());
|
||||
const state_ta_explicit* s = down_cast<const state_ta_explicit*>(in);
|
||||
assert(s);
|
||||
return ta_.get_tgba()->support_conditions(s->get_tgba_state());
|
||||
}
|
||||
|
||||
bdd
|
||||
tgta_explicit::compute_support_variables(const spot::state* in) const
|
||||
{
|
||||
return get_tgba()->support_variables(
|
||||
((const state_ta_explicit*) in)->get_tgba_state());
|
||||
const state_ta_explicit* s = down_cast<const state_ta_explicit*>(in);
|
||||
assert(s);
|
||||
return ta_.get_tgba()->support_variables(s->get_tgba_state());
|
||||
}
|
||||
|
||||
bdd_dict*
|
||||
tgta_explicit::get_dict() const
|
||||
{
|
||||
return ta_explicit::get_dict();
|
||||
return ta_.get_dict();
|
||||
}
|
||||
|
||||
bdd
|
||||
tgta_explicit::all_acceptance_conditions() const
|
||||
{
|
||||
|
||||
return ta_explicit::all_acceptance_conditions();
|
||||
return ta_.all_acceptance_conditions();
|
||||
}
|
||||
|
||||
bdd
|
||||
tgta_explicit::neg_acceptance_conditions() const
|
||||
{
|
||||
return get_tgba()->neg_acceptance_conditions();
|
||||
return ta_.get_tgba()->neg_acceptance_conditions();
|
||||
}
|
||||
|
||||
std::string
|
||||
tgta_explicit::format_state(const spot::state* s) const
|
||||
{
|
||||
return ta_explicit::format_state(s);
|
||||
return ta_.format_state(s);
|
||||
}
|
||||
|
||||
spot::tgba_succ_iterator*
|
||||
tgta_explicit::succ_iter_by_changeset(const spot::state* s, bdd chngset) const
|
||||
{
|
||||
return ta_explicit::succ_iter(s, chngset);
|
||||
return ta_.succ_iter(s, chngset);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ namespace spot
|
|||
|
||||
/// Explicit representation of a spot::tgta.
|
||||
/// \ingroup ta_representation
|
||||
class tgta_explicit : public tgta, public ta_explicit
|
||||
class tgta_explicit : public tgta
|
||||
{
|
||||
public:
|
||||
tgta_explicit(const tgba* tgba, bdd all_acceptance_conditions,
|
||||
|
|
@ -44,30 +44,30 @@ namespace spot
|
|||
bool own_tgba = false);
|
||||
|
||||
// tgba interface
|
||||
virtual spot::state*
|
||||
get_init_state() const;
|
||||
virtual spot::state* get_init_state() const;
|
||||
|
||||
virtual tgba_succ_iterator*
|
||||
succ_iter(const spot::state* local_state, const spot::state* global_state =
|
||||
0, const tgba* global_automaton = 0) const;
|
||||
|
||||
virtual bdd_dict*
|
||||
get_dict() const;
|
||||
|
||||
virtual bdd
|
||||
all_acceptance_conditions() const;
|
||||
virtual bdd
|
||||
neg_acceptance_conditions() const;
|
||||
const ta_explicit* get_ta() const { return &ta_; }
|
||||
ta_explicit* get_ta() { return &ta_; }
|
||||
|
||||
virtual std::string
|
||||
format_state(const spot::state* s) const;
|
||||
virtual bdd all_acceptance_conditions() const;
|
||||
virtual bdd neg_acceptance_conditions() const;
|
||||
|
||||
virtual std::string format_state(const spot::state* s) const;
|
||||
|
||||
virtual tgba_succ_iterator*
|
||||
succ_iter_by_changeset(const spot::state* s, bdd change_set) const;
|
||||
protected:
|
||||
virtual bdd
|
||||
compute_support_conditions(const spot::state* state) const;
|
||||
virtual bdd
|
||||
compute_support_variables(const spot::state* state) const;
|
||||
virtual bdd compute_support_conditions(const spot::state* state) const;
|
||||
virtual bdd compute_support_variables(const spot::state* state) const;
|
||||
|
||||
ta_explicit ta_;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue