[][src]Struct chess_move_gen::SortedMoveList

pub struct SortedMoveList<'a> { /* fields omitted */ }

SortedMoveList is list move vec but calculates the piece-square score of each move as it adds them to the list This is more efficient than sorting scores later if you need the moves to be sorted according to piece-square score. Underlying structure is a binary heap which allows O(1) insertion and fast ordered interation via into_iter()

Implementations

impl<'a> SortedMoveList<'a>[src]

pub fn new(
    piece_square_table: &'a PieceSquareTable,
    piece_grid: &'a [Piece; 64],
    stm: Side,
    moves: &'a mut BinaryHeap<MoveScore>
) -> SortedMoveList<'a>
[src]

pub fn best_move(&self) -> Option<&MoveScore>[src]

pub fn len(&self) -> usize[src]

Trait Implementations

impl<'a> Debug for SortedMoveList<'a>[src]

impl<'a> Display for SortedMoveList<'a>[src]

impl<'a> MoveList for SortedMoveList<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for SortedMoveList<'a>

impl<'a> Send for SortedMoveList<'a>

impl<'a> Sync for SortedMoveList<'a>

impl<'a> Unpin for SortedMoveList<'a>

impl<'a> !UnwindSafe for SortedMoveList<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> Cast<U> for T where
    U: FromCast<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> FromCast<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,