osl::checkmate::detail Namespace Reference

- Main Page
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Functions
osl::checkmate::detail Namespace Reference

## Functions
template<Player P>
bool | blockingVerticalAttack (NumEffectState const &state, Square pos)
template<Player P>
bool | blockingDiagonalAttack (NumEffectState const &state, Square pos, Square target, King8Info canMoveMask)
template<Player P, bool canDrop, bool setBestMove>
bool | hasKnightCheckmate (NumEffectState const &state, Square target, Square pos, King8Info canMoveMask, Move &bestMove, mask_t mask1)
template<Player P, bool setBestMove>
bool | hasCheckmateMoveKnight (NumEffectState const &state, Square target, King8Info canMoveMask, Move &bestMove)
template<Player P, bool setBestMove>
bool | slowCheckDrop (NumEffectState const &state, Square target, Ptype ptype, King8Info canMoveMask, Move &bestMove)

## Function Documentation

template<Player P>

bool osl::checkmate::detail::blockingDiagonalAttack | ( | NumEffectState const & | state,
|  | Square | pos,
|  | Square | target,
|  | King8Info | canMoveMask
| ) |  |

Definition at line 57 of file immediateCheckmate.tcc.

References osl::Board_Table, osl::Piece::canMoveOn(), osl::BoardTable::getShort8OffsetUnsafe(), osl::Square::isOnBoard(), osl::Square::square, osl::U, and osl::checkmate::King8Info::uint64Value().

template<Player P>

bool osl::checkmate::detail::blockingVerticalAttack | ( | NumEffectState const & | state,
|  | Square | pos
| ) |  |

Definition at line 22 of file immediateCheckmate.tcc.

References osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::Square::isU(), and osl::Square::square.

template<Player P, bool setBestMove>

bool osl::checkmate::detail::hasCheckmateMoveKnight | ( | NumEffectState const & | state,
|  | Square | target,
|  | King8Info | canMoveMask,
|  | Move & | bestMove
| ) |  |

Definition at line 125 of file immediateCheckmate.tcc.

References osl::KNIGHT, target, and osl::checkmate::King8Info::uint64Value().

template<Player P, bool canDrop, bool setBestMove>

bool osl::checkmate::detail::hasKnightCheckmate | ( | NumEffectState const & | state,
|  | Square | target,
|  | Square | pos,
|  | King8Info | canMoveMask,
|  | Move & | bestMove,
|  | mask_t | mask1
| ) |  |

Definition at line 88 of file immediateCheckmate.tcc.

References osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::KNIGHT, osl::Piece::ptype(), osl::Piece::square(), and target.

template<Player P, bool setBestMove>

bool osl::checkmate::detail::slowCheckDrop | ( | NumEffectState const & | state,
|  | Square | target,
|  | Ptype | ptype,
|  | King8Info | canMoveMask,
|  | Move & | bestMove
| ) |  |

Definition at line 151 of file immediateCheckmate.tcc.

References osl::checkmate::ImmediateCheckmateTable::blockingMask(), osl::Board_Table, osl::BoardTable::getOffset(), osl::checkmate::Immediate_Checkmate_Table, osl::BoardTable::isBetween(), osl::checkmate::ImmediateCheckmateTable::ptypeDropMask(), osl::Square::square, osl::misc::BitOp::takeOneBit(), and osl::checkmate::King8Info::uint64Value().