X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=3a5087c54f5cfa7483abf46a8de52440740b1724;hp=ff1fa9370d9cbf36460cca42e84849e0e397fe47;hb=a010d438a2e378a82943835d49a53dfaa15c95d1;hpb=d81def4fa90e69590feee55c95ef874a0d459bcd diff --git a/src/position.h b/src/position.h index ff1fa937..3a5087c5 100644 --- a/src/position.h +++ b/src/position.h @@ -139,6 +139,9 @@ class Position { friend class MaterialInfo; friend class EndgameFunctions; + Position(); // No default or copy c'tor allowed + Position(const Position& pos); + public: enum GamePhase { MidGame, @@ -146,9 +149,9 @@ public: }; // Constructors - Position(); - explicit Position(const Position& pos); - explicit Position(const std::string& fen); + explicit Position(int threadID); + Position(const Position& pos, int threadID); + Position(const std::string& fen, int threadID); // Text input/output void from_fen(const std::string& fen); @@ -271,8 +274,10 @@ public: bool opposite_colored_bishops() const; bool has_pawn_on_7th(Color c) const; - // Game ply information - int ply() const; + // Current thread ID searching on the position + int thread() const; + + // Reset the gamePly variable to 0 void reset_game_ply(); // Position consistency check, for debugging @@ -328,6 +333,7 @@ private: int castleRightsMask[64]; StateInfo startState; File initialKFile, initialKRFile, initialQRFile; + int threadID; StateInfo* st; // Static variables @@ -557,8 +563,8 @@ inline PieceType Position::captured_piece() const { return st->capture; } -inline int Position::ply() const { - return st->gamePly; +inline int Position::thread() const { + return threadID; } #endif // !defined(POSITION_H_INCLUDED)