friend std::ostream& operator<<(std::ostream&, const Position&);
+ Position(const Position&); // Disable the default copy constructor
+
public:
static void init();
- Position() = default; // To define the global object RootPos
- Position(const Position&) = delete;
+ Position() {} // To define the global object RootPos
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
// 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, bool moveIsCheck);
void undo_move(Move m);
void do_null_move(StateInfo& st);
void undo_null_move();
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* step = NULL) const;
void flip();
private: