3 #ifndef OSL_SIMPLE_STATE_H
4 #define OSL_SIMPLE_STATE_H
29 std::ostream&
operator<<(std::ostream& os,
const SimpleState& state);
35 bool operator==(
const SimpleState& st1,
const SimpleState& st2);
46 CArray<Piece,Square::SIZE>
board
54 CArray<Piece,Piece::SIZE>
pieces
92 return kingPiece<BLACK>();
94 return kingPiece<WHITE>();
98 return kingPiece<P>().square();
103 return kingSquare<BLACK>();
105 return kingSquare<WHITE>();
107 template <Ptype PTYPE>
116 template <Ptype PTYPE>
118 assert(0 <= n && n < nthLimit<PTYPE>());
160 return hasPieceOnStand<PAWN>(player) && !
isPawnMaskSet(player, x);
190 template <Ptype Type>
213 assert(! diff.
zero());
235 template <
bool show_error>
276 assert(! offset.
zero());
280 if (!pieceExistsAtTo && sq==to)
299 assert(! offset.zero());
318 using state::SimpleState;