class Position {
- friend class MaterialInfo;
- friend class EndgameFunctions;
-
Position(); // No default or copy c'tor allowed
Position(const Position& pos);
void print(Move m = MOVE_NONE) const;
// Copying
- void flipped_copy(const Position& pos);
+ void flip();
// The piece on a given square
Piece piece_on(Square s) const;
// Properties of moves
bool pl_move_is_legal(Move m, Bitboard pinned) const;
bool pl_move_is_evasion(Move m, Bitboard pinned) const;
+ bool move_is_legal(const Move m) const;
+ bool move_is_legal(const Move m, Bitboard pinned) const;
bool move_is_check(Move m) const;
bool move_is_check(Move m, const CheckInfo& ci) const;
bool move_is_capture(Move m) const;
bool is_mate() const;
bool is_draw() const;
- // Check if side to move could be mated in one
- bool has_mate_threat();
-
// Number of plies from starting position
int startpos_ply_counter() const;