Better types for instance maps.

* src/ltlast/unop.hh (map): Use unop* as values.
* src/ltlast/binop.hh (map): Use binop* as values.
* src/ltlast/multop.hh (map): Use multop* as values.
* src/ltlast/automatop.hh (paircmp): Rename as tripletcmp.
(map): Use automaton* as values, not formula*.
This commit is contained in:
Alexandre Duret-Lutz 2009-11-07 02:23:19 +01:00
parent f2e941cd07
commit 3488bf45e0
5 changed files with 15 additions and 5 deletions

View file

@ -1,3 +1,13 @@
2009-11-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Better types for instance maps.
* src/ltlast/unop.hh (map): Use unop* as values.
* src/ltlast/binop.hh (map): Use binop* as values.
* src/ltlast/multop.hh (map): Use multop* as values.
* src/ltlast/automatop.hh (paircmp): Rename as tripletcmp.
(map): Use automaton* as values, not formula*.
2009-11-07 Alexandre Duret-Lutz <adl@lrde.epita.fr> 2009-11-07 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Add missing instance_count() in automatop and eltl2tgba. Add missing instance_count() in automatop and eltl2tgba.

View file

@ -75,7 +75,7 @@ namespace spot
protected: protected:
typedef std::pair<std::pair<nfa::ptr, bool>, vec*> triplet; typedef std::pair<std::pair<nfa::ptr, bool>, vec*> triplet;
/// Comparison functor used internally by ltl::automatop. /// Comparison functor used internally by ltl::automatop.
struct paircmp struct tripletcmp
{ {
bool bool
operator () (const triplet& p1, const triplet& p2) const operator () (const triplet& p1, const triplet& p2) const
@ -87,7 +87,7 @@ namespace spot
return *p1.second < *p2.second; return *p1.second < *p2.second;
} }
}; };
typedef std::map<triplet, formula*, paircmp> map; typedef std::map<triplet, automatop*, tripletcmp> map;
static map instances; static map instances;
automatop(const nfa::ptr, vec* v, bool negated); automatop(const nfa::ptr, vec* v, bool negated);

View file

@ -73,7 +73,7 @@ namespace spot
protected: protected:
typedef std::pair<formula*, formula*> pairf; typedef std::pair<formula*, formula*> pairf;
typedef std::pair<type, pairf> pair; typedef std::pair<type, pairf> pair;
typedef std::map<pair, formula*> map; typedef std::map<pair, binop*> map;
static map instances; static map instances;
binop(type op, formula* first, formula* second); binop(type op, formula* first, formula* second);

View file

@ -108,7 +108,7 @@ namespace spot
return *p1.second < *p2.second; return *p1.second < *p2.second;
} }
}; };
typedef std::map<pair, formula*, paircmp> map; typedef std::map<pair, multop*, paircmp> map;
static map instances; static map instances;
multop(type op, vec* v); multop(type op, vec* v);

View file

@ -61,7 +61,7 @@ namespace spot
protected: protected:
typedef std::pair<type, formula*> pair; typedef std::pair<type, formula*> pair;
typedef std::map<pair, formula*> map; typedef std::map<pair, unop*> map;
static map instances; static map instances;
unop(type op, formula* child); unop(type op, formula* child);