30 lines
739 B
C++
30 lines
739 B
C++
#ifndef CHESS_ENGINE_BOARDSTATE_HPP
|
|
#define CHESS_ENGINE_BOARDSTATE_HPP
|
|
|
|
#include "Piece.hpp"
|
|
#include "BitBoard.hpp"
|
|
#include "Board.hpp"
|
|
|
|
struct BoardState {
|
|
BoardState(const BitBoard (*const pieceBBs)[8],
|
|
const BitBoard occupiedBB,
|
|
const PieceColor turn,
|
|
const CastlingRights cr,
|
|
const std::optional<Square> eps)
|
|
: pieceBBs(pieceBBs),
|
|
occupiedBB(occupiedBB),
|
|
turn(turn),
|
|
cr(cr),
|
|
eps(eps) {
|
|
|
|
}
|
|
|
|
const BitBoard (*const pieceBBs)[8];
|
|
const BitBoard occupiedBB;
|
|
const PieceColor turn;
|
|
const CastlingRights cr;
|
|
const std::optional<Square> eps;
|
|
};
|
|
|
|
#endif //CHESS_ENGINE_BOARDSTATE_HPP
|