X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fendgame.cpp;h=3f8094b6d0c321c5105b7008b7eb9ea69df689f6;hp=1d93c0ca134109fe3093f9be3916836e82eaadfa;hb=35018fa3076a01a62bd4433771c5832d0ddc52e8;hpb=6963c3802d73c61396af32eb7fc6a4e4a76763ae diff --git a/src/endgame.cpp b/src/endgame.cpp index 1d93c0ca..3f8094b6 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -93,16 +93,13 @@ namespace { return Position(fen, false, 0).get_material_key(); } - typedef Endgames::EMap::type EFMap; - typedef Endgames::EMap::type SFMap; - } // namespace /// Endgames member definitions -template<> const EFMap& Endgames::map() const { return maps.first; } -template<> const SFMap& Endgames::map() const { return maps.second; } +template<> const Endgames::M1& Endgames::map() const { return m1; } +template<> const Endgames::M2& Endgames::map() const { return m2; } Endgames::Endgames() { @@ -125,10 +122,10 @@ Endgames::Endgames() { Endgames::~Endgames() { - for (EFMap::const_iterator it = map().begin(); it != map().end(); ++it) + for (M1::const_iterator it = m1.begin(); it != m1.end(); ++it) delete it->second; - for (SFMap::const_iterator it = map().begin(); it != map().end(); ++it) + for (M2::const_iterator it = m2.begin(); it != m2.end(); ++it) delete it->second; } @@ -136,23 +133,12 @@ template void Endgames::add(const string& keyCode) { typedef typename eg_family::type T; - typedef typename EMap::type M; + typedef typename Map::type M; - const_cast(map()).insert(std::make_pair(mat_key(keyCode), new Endgame(WHITE))); - const_cast(map()).insert(std::make_pair(mat_key(swap_colors(keyCode)), new Endgame(BLACK))); + const_cast(map()).insert(std::make_pair(mat_key(keyCode), new Endgame(WHITE))); + const_cast(map()).insert(std::make_pair(mat_key(swap_colors(keyCode)), new Endgame(BLACK))); } -template -EndgameBase* Endgames::get(Key key) const { - - typename EMap::type::const_iterator it = map().find(key); - return it != map().end() ? it->second : NULL; -} - -// Explicit template instantiations -template EndgameBase* Endgames::get(Key key) const; -template EndgameBase* Endgames::get(Key key) const; - /// Mate with KX vs K. This function is used to evaluate positions with /// King and plenty of material vs a lone king. It simply gives the