- typedef std::map<Key, EndgameBase<Value>* > EFMap;
- typedef std::map<Key, EndgameBase<ScaleFactor>* > SFMap;
+ typedef std::map<Key, EndgameBase<Value>*> M1;
+ typedef std::map<Key, EndgameBase<ScaleFactor>*> M2;
+
+ M1 m1;
+ M2 m2;
+
+ M1& map(Value*) { return m1; }
+ M2& map(ScaleFactor*) { return m2; }
+
+ template<EndgameType E> void add(const std::string& code);