[][src]Enum jomini::TextToken

pub enum TextToken<'a> {
    Array(usize),
    Object(usize),
    HiddenObject(usize),
    Scalar(Scalar<'a>),
    Operator(Operator),
    End(usize),
    Header(Scalar<'a>),
}

Represents a valid text value

Variants

Array(usize)

Index of the TextToken::End that signifies this array's termination

Object(usize)

Index of the TextToken::End that signifies this objects's termination

Typically in the tape the value immediately follows a key token. However, this is not guaranteed so always check if the end has been reached before trying to decode a value. There are two main situations where this is not guaranteed:

  • A non-equal operator (eg: a > b will be parsed to 3 instead of 2 tokens)
  • Array trailers (eg: a = {10} 0 1 2)
HiddenObject(usize)

Index of the TextToken::End that signifies this objects's termination

A hidden object occurs where the first element is part of an array:

This example is not tested
a = { 10 a=b c=d}

In the above example, a and c would be part of the hidden object

Scalar(Scalar<'a>)

Extracted scalar value

Operator(Operator)

A present, but non-equal operator token

End(usize)

Index of the start of this object

Header(Scalar<'a>)

The header token of the subsequent scalar. For instance, given

This example is not tested
color = rgb { 100 200 50 }

rgb would be a the header followed by a 3 element array

Trait Implementations

impl<'a> Debug for TextToken<'a>[src]

impl<'a> PartialEq<TextToken<'a>> for TextToken<'a>[src]

impl<'a> StructuralPartialEq for TextToken<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for TextToken<'a>

impl<'a> Send for TextToken<'a>

impl<'a> Sync for TextToken<'a>

impl<'a> Unpin for TextToken<'a>

impl<'a> UnwindSafe for TextToken<'a>

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, 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.