/// The checkInfo struct is initialized at c'tor time and keeps info used
/// to detect if a move gives check.
class Position;
-class Thread;
+struct Thread;
struct CheckInfo {
Square castle_rook_square(Color c, CastlingSide s) const;
// Checking
- bool in_check() const;
Bitboard checkers() const;
Bitboard discovered_check_candidates() const;
Bitboard pinned_pieces() const;
void do_move(Move m, StateInfo& st);
void do_move(Move m, StateInfo& st, const CheckInfo& ci, bool moveIsCheck);
void undo_move(Move m);
- template<bool Do> void do_null_move(StateInfo& st);
+ void do_null_move(StateInfo& st);
+ void undo_null_move();
// Static exchange evaluation
int see(Move m) const;
return st->checkersBB;
}
-inline bool Position::in_check() const {
- return st->checkersBB != 0;
-}
-
inline Bitboard Position::discovered_check_candidates() const {
return hidden_checkers<false>();
}