X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=676122c23d400efc87db144749d840323f7beb22;hp=cc816910a3d0320f8e866f12b041dca0d5549ce4;hb=a04dcce6289c39ea497de67ab43306ca6d47319b;hpb=6716337f407ad6586b636aca72ee673655822137 diff --git a/src/position.h b/src/position.h index cc816910..676122c2 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); @@ -272,6 +275,7 @@ public: bool has_pawn_on_7th(Color c) const; // Game ply information + int thread() const; int ply() const; void reset_ply(); @@ -328,6 +332,7 @@ private: int castleRightsMask[64]; StateInfo startState; File initialKFile, initialKRFile, initialQRFile; + int threadID; StateInfo* st; // Static variables @@ -557,6 +562,10 @@ inline PieceType Position::captured_piece() const { return st->capture; } +inline int Position::thread() const { + return threadID; +} + inline int Position::ply() const { return st->ply; }