17#ifndef HOOVER_CHESS_UTILS__PGN_READER__CHESSBOARD_PRIV_H_INCLUDED
18#define HOOVER_CHESS_UTILS__PGN_READER__CHESSBOARD_PRIV_H_INCLUDED
93template <
typename IteratorType>
129template <
typename IteratorType>
152 static constexpr bool canCompleteEarly {
false };
165 static constexpr bool canCompleteEarly {
false };
178 static constexpr bool canCompleteEarly {
true };
Definition chessboard-priv.h:65
std::uint8_t m_numLegalMoves
Definition chessboard-priv.h:67
std::size_t getNumberOfLegalMoves() const noexcept
Definition chessboard-priv.h:87
LegalMoveCounterIterator & operator++() noexcept
Definition chessboard-priv.h:70
LegalMoveCounterIterator & operator+=(std::uint8_t amount) noexcept
Definition chessboard-priv.h:76
DummyMoveIteratorDereference operator*() noexcept
Definition chessboard-priv.h:82
Definition chessboard-priv.h:36
LegalMoveDetectorIterator & operator++() noexcept
Definition chessboard-priv.h:41
bool m_legalMoves
Definition chessboard-priv.h:38
bool hasLegalMoves() const noexcept
Definition chessboard-priv.h:58
DummyMoveIteratorDereference operator*() noexcept
Definition chessboard-priv.h:53
LegalMoveDetectorIterator & operator+=(std::uint8_t amount) noexcept
Definition chessboard-priv.h:47
A legal move. Important: see the note!
Definition chessboard.h:198
static constexpr Move illegalNoMove() noexcept
Token for illegal move: no moves generated.
Definition chessboard.h:429
static constexpr Move illegalAmbiguousMove() noexcept
Token for illegal move: ambiguous move generation.
Definition chessboard.h:437
std::array< CompactMove, 256U > MoveList
Move list returned by ChessBoard::generateMoves().
Definition chessboard.h:508
Definition chessboard-types-squareset.h:30
Definition chessboard-priv.h:28
DummyMoveIteratorDereference & operator=(Move) noexcept
Definition chessboard-priv.h:29
Definition chessboard-priv.h:95
IteratorType Store
Definition chessboard-priv.h:96
static void storeMove(IteratorType &i, Move m) noexcept
Definition chessboard-priv.h:98
static constexpr bool storesMoves() noexcept
Definition chessboard-priv.h:167
static constexpr bool storesMoves() noexcept
Definition chessboard-priv.h:180
MoveList::iterator Iterator
Definition chessboard-priv.h:150
static constexpr bool storesMoves() noexcept
Definition chessboard-priv.h:154
Definition chessboard-priv.h:131
static constexpr bool storesMoves() noexcept
static constexpr bool moveGenCompleted(Iterator) noexcept
IteratorType Iterator
Definition chessboard-priv.h:132
Definition chessboard-priv.h:106
static void storeMove(Move &ret, Move m) noexcept
Definition chessboard-priv.h:109
Definition chessboard-priv.h:119
static void storeMove(Move &ret, Move m) noexcept
Definition chessboard-priv.h:122