|
| template<typename IteratorType , MoveGenType type, typename ParamType , Color turn> |
| auto | hoover_chess_utils::pgn_reader::generateMovesForPawnsTempl (const ChessBoard &board, IteratorType i, ParamType legalDestinations) noexcept -> IteratorType |
| | Generates legal pawn moves, the actual implementation.
|
| |
| template<typename IteratorType , MoveGenType type, typename ParamType > |
| auto | hoover_chess_utils::pgn_reader::generateMovesForPawns (const ChessBoard &board, IteratorType i, ParamType legalDestinations) noexcept -> IteratorType |
| | Generates legal pawn moves, dispatch for side-to-move.
|
| |
| template<typename IteratorType , MoveGenType type, typename ParamType > |
| auto | hoover_chess_utils::pgn_reader::generateMovesForKnight (const ChessBoard &board, IteratorType i, Square sq, ParamType legalDestinations) noexcept -> IteratorType |
| | Generates legal knight moves.
|
| |
| template<typename IteratorType , MoveGenType type, typename ParamType , bool pinned> |
| auto | hoover_chess_utils::pgn_reader::generateMovesForBishop (const ChessBoard &board, IteratorType i, Square sq, ParamType legalDestinations, MoveTypeAndPromotion typeAndPromo) noexcept -> IteratorType |
| | Generates legal bishop moves for queen or bishop.
|
| |
| template<typename IteratorType , MoveGenType type, typename ParamType , bool pinned> |
| auto | hoover_chess_utils::pgn_reader::generateMovesForRook (const ChessBoard &board, IteratorType i, Square sq, ParamType legalDestinations, MoveTypeAndPromotion typeAndPromo) noexcept -> IteratorType |
| | Generates legal rook moves for queen or rook.
|
| |
| template<typename IteratorType > |
| auto | hoover_chess_utils::pgn_reader::generateMovesForKing (const ChessBoard &board, IteratorType i, SquareSet attackedSquares) noexcept -> IteratorType |
| | Generates legal king moves.
|
| |
| template<typename IteratorType > |
| IteratorType | hoover_chess_utils::pgn_reader::generateAllLegalMovesTemplNoCheck (const ChessBoard &board, IteratorType i) noexcept |
| | Generates all legal moves when not in check.
|
| |
| template<typename IteratorType > |
| IteratorType | hoover_chess_utils::pgn_reader::generateAllLegalMovesTemplInCheck (const ChessBoard &board, IteratorType i) noexcept |
| | Generates all legal moves when in check (but not in double check)
|
| |
| template<typename IteratorType > |
| IteratorType | hoover_chess_utils::pgn_reader::generateAllLegalMovesTemplInDoubleCheck (const ChessBoard &board, IteratorType i) noexcept |
| | Generates all legal moves when in double check.
|
| |
| template<MoveGenType type, typename IteratorType > |
| IteratorType | hoover_chess_utils::pgn_reader::generateMovesIterTempl (const ChessBoard &board, IteratorType i) noexcept |
| | Generates all legal moves for a specific iterator type.
|
| |
| template<MoveGenType type> |
| std::size_t | hoover_chess_utils::pgn_reader::generateMovesTempl (const ChessBoard &board, MoveList &moves) noexcept |
| | Generates all legal moves for a position.
|
| |
| template<MoveGenType type> |
| std::size_t | hoover_chess_utils::pgn_reader::getNumberOfLegalMovesTempl (const ChessBoard &board) noexcept |
| | Returns the number of legal moves for a position.
|
| |
| template<MoveGenType type> |
| bool | hoover_chess_utils::pgn_reader::hasLegalMovesTempl (const ChessBoard &board) noexcept |
| | Determines whether there are any legal moves.
|
| |