Enum jomini::TextToken [−][src]
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:
a = { 10 a=b c=d}
In the above example, a and c would be part of the hidden object
Unquoted(Scalar<'a>)
Extracted unquoted scalar value
Quoted(Scalar<'a>)
Extracted quoted 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
color = rgb { 100 200 50 }
rgb
would be a the header followed by a 3 element array
Implementations
impl<'a> TextToken<'a>
[src]
pub fn as_scalar(&self) -> Option<Scalar<'a>>
[src]
Returns the scalar if the token contains a scalar
use jomini::{Scalar, TextToken}; assert_eq!(TextToken::Unquoted(Scalar::new(b"abc")).as_scalar(), Some(Scalar::new(b"abc"))); assert_eq!(TextToken::Quoted(Scalar::new(b"abc")).as_scalar(), Some(Scalar::new(b"abc"))); assert_eq!(TextToken::Header(Scalar::new(b"rgb")).as_scalar(), Some(Scalar::new(b"rgb"))); assert_eq!(TextToken::Object(2).as_scalar(), None);
Trait Implementations
impl<'a> Clone for TextToken<'a>
[src]
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,