Enum myopic_board::Piece[][src]

pub enum Piece {
    WP,
    WN,
    WB,
    WR,
    WQ,
    WK,
    BP,
    BN,
    BB,
    BR,
    BQ,
    BK,
}

Value type wrapping a single integer representing one of the 12 different pieces in a game of chess.

Variants

WP
WN
WB
WR
WQ
WK
BP
BN
BB
BR
BQ
BK

Implementations

impl Piece[src]

pub fn all() -> impl Iterator<Item = Piece>[src]

Create an iterator traversing over all pieces in order.

pub fn whites() -> impl Iterator<Item = Piece>[src]

Create an iterator traversing over all white pieces in order.

pub fn blacks() -> impl Iterator<Item = Piece>[src]

Create an iterator traversing over all black pieces in order.

pub fn king(side: Side) -> Piece[src]

Returns the king which belongs to the given side.

pub fn queen(side: Side) -> Piece[src]

Returns the queen which belongs to the given side.

pub fn rook(side: Side) -> Piece[src]

Returns the rook belonging to the given side.

pub fn pawn(side: Side) -> Piece[src]

Returns the pawn which belongs to the given side.

pub fn of(side: Side) -> impl Iterator<Item = Piece>[src]

Returns a slice containing all pieces belonging to the given side.

pub fn side(self) -> Side[src]

Returns the side that this piece belongs to.

pub fn is_pawn(self) -> bool[src]

Checks whether this piece is either a white or black pawn.

pub fn is_knight(self) -> bool[src]

Checks whether this piece is either a white or black knight.

pub fn control(
    self,
    loc: Square,
    whites: BitBoard,
    blacks: BitBoard
) -> BitBoard
[src]

Computes the control set for this piece given it’s location and the locations of all the white and black pieces on the board.

pub fn empty_control(self, loc: Square) -> BitBoard[src]

Computes the control set for this piece given it’s location on an empty board.

pub fn moves(self, loc: Square, whites: BitBoard, blacks: BitBoard) -> BitBoard[src]

Computes the set of legal moves for this piece given it’s location and the locations of all the white and black pieces on the board. Note that this method does not take into account special restrictions for or due to the king, e.g. can’t move in such a way to put the king into check.

Trait Implementations

impl<O> BitAnd<O> for Piece where
    O: Into<EnumSet<Piece>>, 
[src]

type Output = EnumSet<Piece>

The resulting type after applying the & operator.

pub fn bitand(self, other: O) -> <Piece as BitAnd<O>>::Output[src]

Performs the & operation. Read more

impl<O> BitOr<O> for Piece where
    O: Into<EnumSet<Piece>>, 
[src]

type Output = EnumSet<Piece>

The resulting type after applying the | operator.

pub fn bitor(self, other: O) -> <Piece as BitOr<O>>::Output[src]

Performs the | operation. Read more

impl<O> BitXor<O> for Piece where
    O: Into<EnumSet<Piece>>, 
[src]

type Output = EnumSet<Piece>

The resulting type after applying the ^ operator.

pub fn bitxor(self, other: O) -> <Piece as BitXor<O>>::Output[src]

Performs the ^ operation. Read more

impl Clone for Piece[src]

pub fn clone(&self) -> Piece[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Piece[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl Display for Piece[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl FromStr for Piece[src]

type Err = Error

The associated error which can be returned from parsing.

pub fn from_str(s: &str) -> Result<Piece, <Piece as FromStr>::Err>[src]

Parses a string s to return a value of this type. Read more

impl Hash for Piece[src]

pub fn hash<__H>(&self, state: &mut __H) where
    __H: Hasher
[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl Not for Piece[src]

type Output = EnumSet<Piece>

The resulting type after applying the ! operator.

pub fn not(self) -> <Piece as Not>::Output[src]

Performs the unary ! operation. Read more

impl Ord for Piece[src]

pub fn cmp(&self, other: &Piece) -> Ordering[src]

This method returns an Ordering between self and other. Read more

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]

Restrict a value to a certain interval. Read more

impl PartialEq<EnumSet<Piece>> for Piece[src]

pub fn eq(&self, other: &EnumSet<Piece>) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl PartialEq<Piece> for Piece[src]

pub fn eq(&self, other: &Piece) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl PartialOrd<Piece> for Piece[src]

pub fn partial_cmp(&self, other: &Piece) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Reflectable for Piece[src]

We reflect a piece to it’s correspondent on the opposite side.

pub fn reflect(&self) -> Piece[src]

impl<O> Sub<O> for Piece where
    O: Into<EnumSet<Piece>>, 
[src]

type Output = EnumSet<Piece>

The resulting type after applying the - operator.

pub fn sub(self, other: O) -> <Piece as Sub<O>>::Output[src]

Performs the - operation. Read more

impl Copy for Piece[src]

impl EnumSetType for Piece[src]

impl Eq for Piece[src]

Auto Trait Implementations

impl RefUnwindSafe for Piece

impl Send for Piece

impl Sync for Piece

impl Unpin for Piece

impl UnwindSafe for Piece

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;
[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;
[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.