- Square pawn_list(Color c, int index) const;
- Square knight_list(Color c, int index) const;
- Square bishop_list(Color c, int index) const;
- Square rook_list(Color c, int index) const;
- Square queen_list(Color c, int index) const;
-
- // Attack information for a given square
- bool square_is_attacked(Square s, Color c) const;
- Bitboard attacks_to(Square s) const;
- Bitboard attacks_to(Square s, Color c) const;
- bool is_check() const;
- bool piece_attacks_square(Square f, Square t) const;
- bool white_pawn_attacks_square(Square f, Square t) const;
- bool black_pawn_attacks_square(Square f, Square t) const;
- bool knight_attacks_square(Square f, Square t) const;
- bool bishop_attacks_square(Square f, Square t) const;
- bool rook_attacks_square(Square f, Square t) const;
- bool queen_attacks_square(Square f, Square t) const;
- bool king_attacks_square(Square f, Square t) const;
+ const Square* piece_list_begin(Color c, PieceType pt) const;
+
+ // Information about attacks to or from a given square
+ Bitboard attackers_to(Square s) const;
+ Bitboard attacks_from(Piece p, Square s) const;
+ template<PieceType> Bitboard attacks_from(Square s) const;
+ template<PieceType> Bitboard attacks_from(Square s, Color c) const;