X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.h;h=3947180f6f6528a404e6fc48d6b0d4af150ff128;hp=86acd20d0eb7a174b779147f8e992dce9ff4a7c5;hb=3184852bdce27e387852f4e250c3c5b502706cb3;hpb=f53aea45e3230239d358d4d35357c9ee6bf6fb54 diff --git a/src/position.h b/src/position.h index 86acd20d..3947180f 100644 --- a/src/position.h +++ b/src/position.h @@ -68,11 +68,6 @@ struct StateInfo { }; -/// When making a move the current StateInfo up to 'key' excluded is copied to -/// the new one. Here we calculate the quad words (64 bit) needed to be copied. -const size_t StateCopySize64 = offsetof(StateInfo, key) / sizeof(uint64_t) + 1; - - /// Position class stores information regarding the board representation as /// pieces, side to move, hash keys, castling info, etc. Important methods are /// do_move() and undo_move(), used by the search to update node info when @@ -82,12 +77,11 @@ class Position { friend std::ostream& operator<<(std::ostream&, const Position&); - Position(const Position&); // Disable the default copy constructor - public: static void init(); - Position() {} // To define the global object RootPos + Position() = default; // To define the global object RootPos + Position(const Position&) = delete; Position(const Position& pos, Thread* th) { *this = pos; thisThread = th; } Position(const std::string& f, bool c960, Thread* th) { set(f, c960, th); } Position& operator=(const Position&); // To assign RootPos from UCI @@ -145,7 +139,7 @@ public: // Doing and undoing moves void do_move(Move m, StateInfo& st); - void do_move(Move m, StateInfo& st, const CheckInfo& ci, bool moveIsCheck); + void do_move(Move m, StateInfo& st, const CheckInfo& ci, bool givesCheck); void undo_move(Move m); void do_null_move(StateInfo& st); void undo_null_move(); @@ -175,7 +169,7 @@ public: Value non_pawn_material(Color c) const; // Position consistency check, for debugging - bool pos_is_ok(int* step = nullptr) const; + bool pos_is_ok(int* failedStep = nullptr) const; void flip(); private: