[][src]Enum sgf_parser::SgfToken

pub enum SgfToken {
    Add {
        color: Color,
        coordinate: (u8, u8),
    },
    Move {
        color: Color,
        action: Action,
    },
    Time {
        color: Color,
        time: u32,
    },
    PlayerName {
        color: Color,
        name: String,
    },
    PlayerRank {
        color: Color,
        rank: String,
    },
    Game(Game),
    Rule(RuleSet),
    Result(Outcome),
    Komi(f32),
    Event(String),
    Copyright(String),
    GameName(String),
    VariationDisplay {
        nodes: DisplayNodes,
        on_board_display: bool,
    },
    Place(String),
    Date(String),
    Size(u32u32),
    FileFormat(u8),
    Overtime(String),
    TimeLimit(u32),
    MovesRemaining {
        color: Color,
        moves: u32,
    },
    Handicap(u32),
    Comment(String),
    Charset(Encoding),
    Application {
        name: String,
        version: String,
    },
    Unknown((String, String)),
    Invalid((String, String)),
    Square {
        coordinate: (u8, u8),
    },
    Triangle {
        coordinate: (u8, u8),
    },
    Label {
        label: String,
        coordinate: (u8, u8),
    },
}

Enum describing all possible SGF Properties

Variants

Add

Fields of Add

color: Colorcoordinate: (u8, u8)
Move

Fields of Move

color: Coloraction: Action
Time

Fields of Time

color: Colortime: u32
PlayerName

Fields of PlayerName

color: Colorname: String
PlayerRank

Fields of PlayerRank

color: Colorrank: String
Game(Game)
Rule(RuleSet)
Result(Outcome)
Komi(f32)
Event(String)
Copyright(String)
GameName(String)
VariationDisplay

Fields of VariationDisplay

nodes: DisplayNodeson_board_display: bool
Place(String)
Date(String)
Size(u32u32)
FileFormat(u8)
Overtime(String)
TimeLimit(u32)
MovesRemaining

Fields of MovesRemaining

color: Colormoves: u32
Handicap(u32)
Comment(String)
Charset(Encoding)
Application

Fields of Application

name: Stringversion: String
Unknown((String, String))
Invalid((String, String))
Square

Fields of Square

coordinate: (u8, u8)
Triangle

Fields of Triangle

coordinate: (u8, u8)
Label

Fields of Label

label: Stringcoordinate: (u8, u8)

Implementations

impl SgfToken[src]

pub fn from_pair(base_ident: &str, value: &str) -> SgfToken[src]

Converts a identifier and value pair to a SGF token

Returns SgfToken::Unknown((identifier, value)) for tokens without a matching identifier

Returns SgfToken::Invalid((identifier, value)) for tokens with a matching identifier, but invalid value

use sgf_parser::*;

let token = SgfToken::from_pair("B", "aa");
assert_eq!(token, SgfToken::Move { color: Color::Black, action: Action::Move(1, 1) });

let token = SgfToken::from_pair("B", "");
assert_eq!(token, SgfToken::Move { color: Color::Black, action: Action::Pass });

let token = SgfToken::from_pair("B", "not_coord");
assert_eq!(token, SgfToken::Invalid(("B".to_string(), "not_coord".to_string())));

let token = SgfToken::from_pair("FOO", "aa");
assert_eq!(token, SgfToken::Unknown(("FOO".to_string(), "aa".to_string())));

pub fn is_root_token(&self) -> bool[src]

Checks if the token is a root token as defined by the SGF spec.

Root tokens can only occur in the root of a gametree collection, and they are invalid anywhere else

use sgf_parser::*;

let token = SgfToken::from_pair("SZ", "19");
assert!(token.is_root_token());

let token = SgfToken::from_pair("B", "aa");
assert!(!token.is_root_token());

pub fn is_setup_token(&self) -> bool[src]

Checks if the token is a setup token as defined by the SGF spec.

Setup tokens modify the current position, and should not be on the same node as move tokens

use sgf_parser::*;

let token = SgfToken::from_pair("AB", "aa");
assert!(token.is_setup_token());

let token = SgfToken::from_pair("SZ", "19");
assert!(!token.is_setup_token());

pub fn is_game_info_token(&self) -> bool[src]

Checks if the token is a game info token as defined by the SGF spec.

Game info tokens provide some information about the game played, usually stored in the root node

use sgf_parser::*;

let token = SgfToken::from_pair("RE", "W+T");
assert!(token.is_game_info_token());

let token = SgfToken::from_pair("SZ", "19");
assert!(!token.is_game_info_token());

Trait Implementations

impl Clone for SgfToken[src]

impl Debug for SgfToken[src]

impl Into<String> for &SgfToken[src]

impl Into<String> for SgfToken[src]

impl PartialEq<SgfToken> for SgfToken[src]

impl StructuralPartialEq for SgfToken[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.