Module pleco::core::move_list[][src]

Contains the MoveList & ScoreMoveList structures, akin to a Vec<BitMove> but faster for our purposes.

A MoveList structure is guaranteed to be exactly 512 bytes long, containing a maximum of 256 moves. This number was chosen as no possible chess position has been found to contain more than 232 possible moves.

This structure is intended to mainly be used for generation of moves for a certain position. If you need to a more versatile collection of moves to manipulate, considering using a Vec<BitMove> instead.

The ScoreMoveList is practically the same as the MoveList, but it allows for each move to have a score attached to it as well.

Structs

MoveIntoIter
MoveIter
MoveList

This is the list of possible moves for a current position. Think of it alike a faster version of Vec<BitMove>, as all the data is stored in the Stack rather than the Heap.

ScoreMoveIntoIter
ScoreMoveIter
ScoringMoveList

This is similar to a MoveList, but also keeps the scores for each move as well.

Traits

MVPushable