]> git.sesse.net Git - stockfish/blobdiff - src/thread.cpp
Mimic an iterator for looping across MoveList
[stockfish] / src / thread.cpp
index 0d8070f202b0774d5077b4ec26962d54f438f7c4..71b9ce0c091412e6424791c1e38bd4553fc04f7c 100644 (file)
@@ -357,8 +357,8 @@ void ThreadPool::wait_for_think_finished() {
 // start_thinking() wakes up the main thread sleeping in MainThread::idle_loop()
 // so to start a new search, then returns immediately.
 
-void ThreadPool::start_thinking(const Position& pos, const LimitsType& limits, const std::vector<Move>& searchMoves,
-                                StateStackPtr& setupStates, MovesVectPtr& setupMoves) {
+void ThreadPool::start_thinking(const Position& pos, const LimitsType& limits,
+                                const std::vector<Move>& searchMoves, StateStackPtr& states) {
   wait_for_think_finished();
 
   SearchTime = Time::now(); // As early as possible
@@ -368,14 +368,13 @@ void ThreadPool::start_thinking(const Position& pos, const LimitsType& limits, c
 
   RootPos = pos;
   Limits = limits;
-  SetupStates = setupStates; // Ownership transfer here
-  SetupMoves = setupMoves;   // Ownership transfer here
+  SetupStates = states; // Ownership transfer here
   RootMoves.clear();
 
-  for (MoveList<LEGAL> ml(pos); !ml.end(); ++ml)
+  for (MoveList<LEGAL> it(pos); !it.end(); ++it)
       if (   searchMoves.empty()
-          || std::count(searchMoves.begin(), searchMoves.end(), ml.move()))
-          RootMoves.push_back(RootMove(ml.move()));
+          || std::count(searchMoves.begin(), searchMoves.end(), *it))
+          RootMoves.push_back(RootMove(*it));
 
   main_thread()->thinking = true;
   main_thread()->notify_one(); // Starts main thread