SanPlus

Struct SanPlus 

Source
pub struct SanPlus {
    pub san: San,
    pub suffix: Option<Suffix>,
}
Expand description

A San and possible check and checkmate suffixes.

Fields§

§san: San§suffix: Option<Suffix>

Implementations§

Source§

impl SanPlus

Source

pub fn from_ascii(ascii: &[u8]) -> Result<SanPlus, ParseSanError>

Parses the given ASCII bytes as a move in SAN and possible check or checkmate suffix.

§Errors

Errors with ParseSanError if ascii is not syntactically valid.

Source

pub fn from_ascii_prefix( ascii: &[u8], ) -> Result<(SanPlus, usize), ParseSanError>

Parses a move in SAN and possible check and checkmate suffix from the start of the given ASCII bytes.

Every byte that might continue a move in SAN is eagerly consumed without backtracking.

Returns the parsed SAN and the number of bytes consumed.

§Errors

Errors with ParseSanError if ascii does not start with a syntactically valid SAN or if backtracking would be required to parse it.

For example, even though Nf3=X starts with Nf3, the parser commits to Nf3= and then fails on X.

Source

pub fn from_move_and_play_unchecked<P>(pos: &mut P, m: Move) -> SanPlus
where P: Position,

Converts a move to Standard Algebraic Notation including possible check and checkmate suffixes. Also plays the move.

It is the callers responsibility to ensure the move is legal.

§Panics

Illegal moves can corrupt the state of the position and may (or may not) panic or cause panics on future calls.

Source

pub fn from_move<P>(pos: P, m: Move) -> SanPlus
where P: Position,

Source

pub fn append_to_string(self, s: &mut String)

Source

pub fn append_ascii_to(self, buf: &mut Vec<u8>)

Trait Implementations§

Source§

impl Clone for SanPlus

Source§

fn clone(&self) -> SanPlus

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SanPlus

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for SanPlus

Source§

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

Formats the value using the given formatter. Read more
Source§

impl FromStr for SanPlus

Source§

type Err = ParseSanError

The associated error which can be returned from parsing.
Source§

fn from_str(san: &str) -> Result<SanPlus, ParseSanError>

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

impl Hash for SanPlus

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

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

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

impl PartialEq for SanPlus

Source§

fn eq(&self, other: &SanPlus) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SanPlus

Source§

impl Eq for SanPlus

Source§

impl StructuralPartialEq for SanPlus

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.