- template<typename T, typename E = EndgameBase<T>> E* probe(Key key)
- { return map<E>().count(key) ? map<E>()[key].get() : nullptr; }
-};
+ StateInfo st;
+ map<T>()[Position().set(code, WHITE, &st).material_key()] = Ptr<T>(new Endgame<E>(WHITE));
+ map<T>()[Position().set(code, BLACK, &st).material_key()] = Ptr<T>(new Endgame<E>(BLACK));
+ }
+
+ template<typename T>
+ const EndgameBase<T>* probe(Key key) {
+ return map<T>().count(key) ? map<T>()[key].get() : nullptr;
+ }
+}