pub enum DatumToken<B: Deref<Target = str>> {
String(DatumOffset, B),
Symbol(DatumOffset, B),
SpecialID(DatumOffset, B),
Integer(DatumOffset, i64),
Float(DatumOffset, f64),
ListStart(DatumOffset),
ListEnd(DatumOffset),
}Expand description
Datum token with integrated string. Notably, integer/float are stored as their values here to prevent unwritable values existing.
Variants§
String(DatumOffset, B)
String. Buffer contents are the unescaped string contents.
Symbol(DatumOffset, B)
Symbol. Buffer contents are the symbol.
SpecialID(DatumOffset, B)
Special ID. Buffer contents are the symbol (text after, but not including, ‘#’).
Integer(DatumOffset, i64)
Integer.
Float(DatumOffset, f64)
Float.
ListStart(DatumOffset)
ListEnd(DatumOffset)
Implementations§
Source§impl<B: Deref<Target = str>> DatumToken<B>
impl<B: Deref<Target = str>> DatumToken<B>
Sourcepub fn token_type(&self) -> DatumTokenType
pub fn token_type(&self) -> DatumTokenType
Return the token type of this token.
Sourcepub fn offset(&self) -> DatumOffset
pub fn offset(&self) -> DatumOffset
Return the offset of this token.
Trait Implementations§
Source§impl<B: Clone + Deref<Target = str>> Clone for DatumToken<B>
impl<B: Clone + Deref<Target = str>> Clone for DatumToken<B>
Source§fn clone(&self) -> DatumToken<B>
fn clone(&self) -> DatumToken<B>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<B: Copy + Deref<Target = str>> Copy for DatumToken<B>
Source§impl<B: PartialEq + Deref<Target = str>> PartialEq for DatumToken<B>
impl<B: PartialEq + Deref<Target = str>> PartialEq for DatumToken<B>
Source§fn eq(&self, other: &DatumToken<B>) -> bool
fn eq(&self, other: &DatumToken<B>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<B: Deref<Target = str>> StructuralPartialEq for DatumToken<B>
Source§impl<B: Deref<Target = str>> TryFrom<(DatumTokenType, u64, B)> for DatumToken<B>
impl<B: Deref<Target = str>> TryFrom<(DatumTokenType, u64, B)> for DatumToken<B>
Source§type Error = DatumError
type Error = DatumError
The type returned in the event of a conversion error.
Source§fn try_from(
value: (DatumTokenType, DatumOffset, B),
) -> Result<Self, Self::Error>
fn try_from( value: (DatumTokenType, DatumOffset, B), ) -> Result<Self, Self::Error>
Performs the conversion.
Source§impl<B: Default + Deref<Target = str>> TryFrom<DatumToken<B>> for DatumAtom<B>
impl<B: Default + Deref<Target = str>> TryFrom<DatumToken<B>> for DatumAtom<B>
Source§fn try_from(token: DatumToken<B>) -> DatumResult<DatumAtom<B>>
fn try_from(token: DatumToken<B>) -> DatumResult<DatumAtom<B>>
Tries to convert from a DatumToken. Due to the strings involved, this has to be done via ownership transfer.
Source§type Error = DatumError
type Error = DatumError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl<B> Freeze for DatumToken<B>where
B: Freeze,
impl<B> RefUnwindSafe for DatumToken<B>where
B: RefUnwindSafe,
impl<B> Send for DatumToken<B>where
B: Send,
impl<B> Sync for DatumToken<B>where
B: Sync,
impl<B> Unpin for DatumToken<B>where
B: Unpin,
impl<B> UnsafeUnpin for DatumToken<B>where
B: UnsafeUnpin,
impl<B> UnwindSafe for DatumToken<B>where
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more