Enum pgn_reader::San[][src]

pub enum San {
    Normal {
        role: Role,
        file: Option<File>,
        rank: Option<Rank>,
        capture: bool,
        to: Square,
        promotion: Option<Role>,
    },
    Castle(CastlingSide),
    Put {
        role: Role,
        to: Square,
    },
    Null,
}

A move in Standard Algebraic Notation.

Variants

Fields of Normal

Fields of Put

Methods

impl San
[src]

Parses a SAN. Ignores a possible check or checkmate suffix.

Errors

Returns InvalidSan if san is not syntactically valid.

Converts a move to Standard Algebraic Notation.

Tries to convert the San to a legal move in the context of a position.

Errors

Returns SanError if there is no unique matching legal move.

Searches a MoveList for a unique matching move.

Errors

Returns SanError if there is no unique matching legal move.

Test if the San can match the Move (in any position).

Examples

use shakmaty::{Square, Role, Move};
use shakmaty::san::San;

let m = Move::Normal {
    role: Role::Knight,
    from: Square::G1,
    to: Square::F3,
    capture: None,
    promotion: None,
};

let nf3 = San::from_ascii(b"Nf3")?;
assert!(nf3.matches(&m));

let ng1f3 = San::from_ascii(b"Ng1f3")?;
assert!(ng1f3.matches(&m));

// capture does not match
let nxf3 = San::from_ascii(b"Nxf3")?;
assert!(!nxf3.matches(&m));

// other file does not match
let nef3 = San::from_ascii(b"Nef3")?;
assert!(!nef3.matches(&m));

Trait Implementations

impl Clone for San
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl FromStr for San
[src]

The associated error which can be returned from parsing.

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

impl Debug for San
[src]

Formats the value using the given formatter. Read more

impl Display for San
[src]

Formats the value using the given formatter. Read more

impl Eq for San
[src]

impl PartialEq<San> for San
[src]

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

This method tests for !=.

Auto Trait Implementations

impl Send for San

impl Sync for San