|
HooverChessUtils_PgnReader 0.9.0
|
Move generator functions. More...
#include <chessboard.h>

Public Attributes | |
| Move(* | generateSingleMoveForPawnAndDestNoCapture )(const ChessBoard &board, SquareSet srcSqMask, Square dst) noexcept |
| Generates a legal non-promoting, non-capturing pawn move with a known destination square. | |
| Move(* | generateSingleMoveForPawnAndDestCapture )(const ChessBoard &board, SquareSet srcSqMask, Square dst) noexcept |
| Generates a legal non-promoting, capturing pawn move with a known destination square. | |
| Move(* | generateSingleMoveForPawnAndDestPromoNoCapture )(const ChessBoard &board, SquareSet srcSqMask, Square dst, Piece promo) noexcept |
| Generates a legal promoting, non-capturing pawn move with a known destination square. | |
| Move(* | generateSingleMoveForPawnAndDestPromoCapture )(const ChessBoard &board, SquareSet srcSqMask, Square dst, Piece promo) noexcept |
| Generates a legal promoting, capturing pawn move with a known destination square. | |
| Move(* | generateSingleMoveForKnightAndDest )(const ChessBoard &board, SquareSet srcSqMask, Square dst) noexcept |
| Generates a legal knight move with a known destination square. May be capturing. | |
| Move(* | generateSingleMoveForBishopAndDest )(const ChessBoard &board, SquareSet srcSqMask, Square dst) noexcept |
| Generates a legal bishop move with a known destination square. May be capturing. | |
| Move(* | generateSingleMoveForRookAndDest )(const ChessBoard &board, SquareSet srcSqMask, Square dst) noexcept |
| Generates a legal rook move with a known destination square. May be capturing. | |
| Move(* | generateSingleMoveForQueenAndDest )(const ChessBoard &board, SquareSet srcSqMask, Square dst) noexcept |
| Generates a legal queen move with a known destination square. May be capturing. | |
| Move(* | generateSingleMoveForKingAndDest )(const ChessBoard &board, SquareSet srcSqMask, Square dst) noexcept |
| Generates a legal king move with a known destination square. May be capturing. | |
| Move(* | generateSingleMoveForShortCastling )(const ChessBoard &board) noexcept |
| Generates a legal short castling move. | |
| Move(* | generateSingleMoveForLongCastling )(const ChessBoard &board) noexcept |
| Generates a legal long castling move. | |
| std::size_t(* | generateMovesForPawnAndDestNoCapture )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst) noexcept |
| Generates a list of legal non-promoting, non-capturing pawn moves with a known destination square. | |
| std::size_t(* | generateMovesForPawnAndDestCapture )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst) noexcept |
| Generates a list of legal non-promoting, capturing pawn moves with a known destination square. | |
| std::size_t(* | generateMovesForPawnAndDestPromoNoCapture )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst, Piece promo) noexcept |
| Generates a list of legal promoting, non-capturing pawn moves with a known destination square. | |
| std::size_t(* | generateMovesForPawnAndDestPromoCapture )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst, Piece promo) noexcept |
| Generates a list of legal promoting, capturing pawn moves with a known destination square. | |
| std::size_t(* | generateMovesForKnightAndDest )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst) noexcept |
| Generates a list of legal knight moves with a known destination square. May be capturing. | |
| std::size_t(* | generateMovesForBishopAndDest )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst) noexcept |
| Generates a list of legal bishop moves with a known destination square. May be capturing. | |
| std::size_t(* | generateMovesForRookAndDest )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst) noexcept |
| Generates a list of legal rook moves with a known destination square. May be capturing. | |
| std::size_t(* | generateMovesForQueenAndDest )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst) noexcept |
| Generates a list of legal queen moves with a known destination square. May be capturing. | |
| std::size_t(* | generateMovesForKingAndDest )(const ChessBoard &board, ShortMoveList &moves, SquareSet srcSqMask, Square dst) noexcept |
| Generates a list of legal king moves with a known destination square. May be capturing. | |
| std::size_t(* | generateMovesForShortCastling )(const ChessBoard &board, ShortMoveList &moves) noexcept |
| Generates the short castling move in a list, if legal. | |
| std::size_t(* | generateMovesForLongCastling )(const ChessBoard &board, ShortMoveList &moves) noexcept |
| Generates the long castling move in a list, if legal. | |
| std::size_t(* | generateMoves )(const ChessBoard &board, MoveList &moves) noexcept |
| Generates a list of all legal moves for the current position. | |
| std::size_t(* | getNumberOfLegalMoves )(const ChessBoard &board) noexcept |
| Returns the number of legal moves for the current position. This function is mostly useful for calculating the moves in perft leaf positions. | |
| bool(* | hasLegalMoves )(const ChessBoard &board) noexcept |
| Determines whether there are any legal moves function is mostly useful for calculating the moves in perft leaf positions. | |
Move generator functions.
|
noexcept |
Generates a list of all legal moves for the current position.
| [in] | moves | Caller-allocated move list |
|
noexcept |
Generates a list of legal bishop moves with a known destination square. May be capturing.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
|
noexcept |
Generates a list of legal king moves with a known destination square. May be capturing.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
|
noexcept |
Generates a list of legal knight moves with a known destination square. May be capturing.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
|
noexcept |
Generates the long castling move in a list, if legal.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
|
noexcept |
Generates a list of legal non-promoting, capturing pawn moves with a known destination square.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
|
noexcept |
Generates a list of legal non-promoting, non-capturing pawn moves with a known destination square.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
|
noexcept |
Generates a list of legal promoting, capturing pawn moves with a known destination square.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
| [in] | promo | Promotion piece |
|
noexcept |
Generates a list of legal promoting, non-capturing pawn moves with a known destination square.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
| [in] | promo | Promotion piece |
|
noexcept |
Generates a list of legal queen moves with a known destination square. May be capturing.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
|
noexcept |
Generates a list of legal rook moves with a known destination square. May be capturing.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
|
noexcept |
Generates the short castling move in a list, if legal.
| [in] | board | The chess board |
| [out] | moves | List of returned moves |
|
noexcept |
Generates a legal bishop move with a known destination square. May be capturing.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal king move with a known destination square. May be capturing.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal knight move with a known destination square. May be capturing.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal long castling move.
Move::isIllegal() returns true.
|
noexcept |
Generates a legal non-promoting, capturing pawn move with a known destination square.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal non-promoting, non-capturing pawn move with a known destination square.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal promoting, capturing pawn move with a known destination square.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
| [in] | promo | Promotion piece |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal promoting, non-capturing pawn move with a known destination square.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
| [in] | promo | Promotion piece |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal queen move with a known destination square. May be capturing.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal rook move with a known destination square. May be capturing.
| [in] | board | The chess board |
| [in] | srcSqMask | Allowed source squares |
| [in] | dst | Destination square |
Move::isIllegal() returns true.
|
noexcept |
Generates a legal short castling move.
Move::isIllegal() returns true.
|
noexcept |
Returns the number of legal moves for the current position. This function is mostly useful for calculating the moves in perft leaf positions.
| [in] | board | The chess board |
|
noexcept |
Determines whether there are any legal moves function is mostly useful for calculating the moves in perft leaf positions.