// Constructors
Position();
- Position(const Position& pos);
- Position(const std::string& fen);
+ explicit Position(const Position& pos);
+ explicit Position(const std::string& fen);
// Text input/output
void from_fen(const std::string& fen);
bool move_is_passed_pawn_push(Move m) const;
bool move_attacks_square(Move m, Square s) const;
+ // Piece captured with previous moves
+ PieceType captured_piece() const;
+
// Information about pawns
bool pawn_is_passed(Color c, Square s) const;
static bool pawn_is_passed(Bitboard theirPawns, Color c, Square s);
return (m & (0x1F << 12)) ? !move_is_castle(m) : !square_is_empty(move_to(m));
}
+inline PieceType Position::captured_piece() const {
+ return st->capture;
+}
+
#endif // !defined(POSITION_H_INCLUDED)