X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fendgame.cpp;h=2c87b2a128a4ec7108246c1f043156148fdee05b;hp=836621d2a5428f02e220bd8c643005e6a21e4cc9;hb=856a5f3aaaf8b9d53599963decacd4476b55c034;hpb=6fa6da3ee13d2b7bdbec3cd24ff8ca43233c74fb diff --git a/src/endgame.cpp b/src/endgame.cpp index 836621d2..2c87b2a1 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -96,9 +96,12 @@ namespace { string fen = sides[0] + char(8 - sides[0].length() + '0') + "/8/8/8/8/8/8/" + sides[1] + char(8 - sides[1].length() + '0') + " w - - 0 10"; - return Position(fen, false, nullptr).material_key(); + return Position(fen, false, NULL).material_key(); } + template + void delete_endgame(const typename M::value_type& p) { delete p.second; } + } // namespace @@ -125,11 +128,17 @@ Endgames::Endgames() { add("KRPPKRP"); } +Endgames::~Endgames() { + + for_each(m1.begin(), m1.end(), delete_endgame); + for_each(m2.begin(), m2.end(), delete_endgame); +} -template +template void Endgames::add(const string& code) { - map()[key(code, WHITE)] = std::unique_ptr>(new Endgame(WHITE)); - map()[key(code, BLACK)] = std::unique_ptr>(new Endgame(BLACK)); + + map((Endgame*)0)[key(code, WHITE)] = new Endgame(WHITE); + map((Endgame*)0)[key(code, BLACK)] = new Endgame(BLACK); }