Trait pgn_reader::Visitor

source ·
pub trait Visitor {
    type Result;

    // Required method
    fn end_game(&mut self) -> Self::Result;

    // Provided methods
    fn begin_game(&mut self) { ... }
    fn begin_headers(&mut self) { ... }
    fn header(&mut self, _key: &[u8], _value: RawHeader<'_>) { ... }
    fn end_headers(&mut self) -> Skip { ... }
    fn san(&mut self, _san_plus: SanPlus) { ... }
    fn nag(&mut self, _nag: Nag) { ... }
    fn comment(&mut self, _comment: RawComment<'_>) { ... }
    fn begin_variation(&mut self) -> Skip { ... }
    fn end_variation(&mut self) { ... }
    fn outcome(&mut self, _outcome: Option<Outcome>) { ... }
}
Expand description

Consumes games from a reader.

Flow

Required Associated Types§

source

type Result

Value produced by the visitor after reading a game.

Required Methods§

source

fn end_game(&mut self) -> Self::Result

Called after parsing a game. Can produce a custom result.

Provided Methods§

source

fn begin_game(&mut self)

Called at the start of the game.

source

fn begin_headers(&mut self)

Called directly before reading game headers.

source

fn header(&mut self, _key: &[u8], _value: RawHeader<'_>)

Called when parsing a game header like [White "Deep Blue"].

source

fn end_headers(&mut self) -> Skip

Called after reading the headers of a game. May skip quickly over the following move text directly to end_game().

source

fn san(&mut self, _san_plus: SanPlus)

Called for each move, like Nf3+.

source

fn nag(&mut self, _nag: Nag)

Called for each numeric annotation glyph like !? or $7.

source

fn comment(&mut self, _comment: RawComment<'_>)

Called for each { comment }.

source

fn begin_variation(&mut self) -> Skip

Called for each (. May skip over the following variation directly to end_variation() (or to end_game() if no matching ) follows before the end of the game.

source

fn end_variation(&mut self)

Called for each ). It is not guaranteed that there was a matching (.

source

fn outcome(&mut self, _outcome: Option<Outcome>)

Called for each game termination, like * or 1-0.

Implementors§