* src/misc/freelist.cc (free_list::remove): Work around
invalidated iterators. * tgba/bdddict.cc (unregister_variable): New methods, extracted from ... (bdd_dict::unregister_all_my_variables): ... here. * tgba/bdddict.hh (unregister_variable): Declare them.
This commit is contained in:
parent
784ccafb1b
commit
3c3b23bfa4
4 changed files with 90 additions and 60 deletions
|
|
@ -135,11 +135,14 @@ namespace spot
|
|||
/// is deleted if \a from_other is still alive.
|
||||
void register_all_variables_of(const void* from_other, const void* for_me);
|
||||
|
||||
/// \brief Release the variables used by object.
|
||||
/// \brief Release all variables used by an object.
|
||||
///
|
||||
/// Usually called in the destructor if \a me.
|
||||
void unregister_all_my_variables(const void* me);
|
||||
|
||||
/// \brief Release a variable used by \a me.
|
||||
void unregister_variable(int var, const void* me);
|
||||
|
||||
/// @{
|
||||
/// Check whether formula \a f has already been registered by \a by_me.
|
||||
bool is_registered_proposition(const ltl::formula* f, const void* by_me);
|
||||
|
|
@ -164,6 +167,7 @@ namespace spot
|
|||
typedef Sgi::hash_map<int, ref_set> vr_map;
|
||||
vr_map var_refs;
|
||||
|
||||
void unregister_variable(vr_map::iterator& cur, const void* me);
|
||||
|
||||
class annon_free_list : public spot::free_list
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue