mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 09:37:16 +08:00
Don't store Thread info in Position
But use the newly introduced local storage for this. A good code semplification and also the correct way to go. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -84,19 +84,14 @@ struct StateInfo {
|
||||
/// * A counter for detecting 50 move rule draws.
|
||||
|
||||
class Position {
|
||||
|
||||
// No copy c'tor or assignment operator allowed
|
||||
Position(const Position&);
|
||||
Position& operator=(const Position&);
|
||||
|
||||
public:
|
||||
Position() {}
|
||||
Position(const Position& p, Thread* t) { copy(p, t); }
|
||||
Position(const std::string& f, bool c960, Thread* t) { from_fen(f, c960, t); }
|
||||
Position(const Position& p) { *this = p; }
|
||||
Position(const std::string& f, bool c960) { from_fen(f, c960); }
|
||||
Position& operator=(const Position&);
|
||||
|
||||
// Text input/output
|
||||
void copy(const Position& pos, Thread* th);
|
||||
void from_fen(const std::string& fen, bool isChess960, Thread* th);
|
||||
void from_fen(const std::string& fen, bool isChess960);
|
||||
const std::string to_fen() const;
|
||||
void print(Move m = MOVE_NONE) const;
|
||||
|
||||
@@ -176,7 +171,6 @@ public:
|
||||
Color side_to_move() const;
|
||||
int startpos_ply_counter() const;
|
||||
bool is_chess960() const;
|
||||
Thread& this_thread() const;
|
||||
int64_t nodes_searched() const;
|
||||
void set_nodes_searched(int64_t n);
|
||||
template<bool SkipRepetition> bool is_draw() const;
|
||||
@@ -224,7 +218,6 @@ private:
|
||||
int64_t nodes;
|
||||
int startPosPly;
|
||||
Color sideToMove;
|
||||
Thread* thisThread;
|
||||
StateInfo* st;
|
||||
int chess960;
|
||||
|
||||
@@ -434,8 +427,4 @@ inline PieceType Position::captured_piece_type() const {
|
||||
return st->capturedType;
|
||||
}
|
||||
|
||||
inline Thread& Position::this_thread() const {
|
||||
return *thisThread;
|
||||
}
|
||||
|
||||
#endif // !defined(POSITION_H_INCLUDED)
|
||||
|
||||
Reference in New Issue
Block a user