pub trait Visitor {
    type Result;
    fn end_game(&mut self) -> Self::Result;

    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

Associated Types

Value produced by the visitor after reading a game.

Required methods

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

Provided methods

Called at the start of the game.

Called directly before reading game headers.

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

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

Called for each move, like Nf3+.

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

Called for each { comment }.

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.

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

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

Implementors