- // Castling rights
- bool can_castle_kingside(Color c) const;
- bool can_castle_queenside(Color c) const;
- bool can_castle(Color c) const;
- Square initial_kr_square(Color c) const;
- Square initial_qr_square(Color c) const;
-
- // Attack bitboards
- Bitboard sliding_attacks(Square s, Direction d) const;
- Bitboard ray_attacks(Square s, SignedDirection d) const;
- Bitboard pawn_attacks(Color c, Square s) const;
-
- template<PieceType>
- Bitboard piece_attacks(Square s) const;
-
- // Bitboards for pinned pieces and discovered check candidates
- Bitboard discovered_check_candidates(Color c) const;
- Bitboard pinned_pieces(Color c, Bitboard& p) const;
- Bitboard pinned_pieces(Color c) const;
+ // Castling
+ int can_castle(CastleRight f) const;
+ int can_castle(Color c) const;
+ bool castle_impeded(Color c, CastlingSide s) const;
+ Square castle_rook_square(Color c, CastlingSide s) const;