template<EndgameType E, typename T = typename eg_family<E>::type>
struct Endgame : public EndgameBase<T> {
- explicit Endgame(Color c) : strongerSide(c), weakerSide(flip(c)) {}
+ explicit Endgame(Color c) : strongerSide(c), weakerSide(~c) {}
Color color() const { return strongerSide; }
T operator()(const Position&) const;
Endgames();
~Endgames();
- template<typename T> EndgameBase<T>* get(Key key) {
+ template<typename T> EndgameBase<T>* probe(Key key) {
return map((T*)0).count(key) ? map((T*)0)[key] : NULL;
}
};