pub enum Token<'b> {
}Expand description
Representation of possible CBOR tokens.
Requires feature "half".
Variants§
Bool(bool)
U8(u8)
U16(u16)
U32(u32)
U64(u64)
I8(i8)
I16(i16)
I32(i32)
I64(i64)
Int(Int)
F16(f32)
F32(f32)
F64(f64)
Bytes(&'b [u8])
String(&'b str)
Array(u64)
Map(u64)
Tag(Tag)
Simple(u8)
Break
Null
Undefined
BeginBytes
Start of indefinite byte string.
BeginString
Start of indefinite text string.
BeginArray
Start of indefinite array.
BeginMap
Start of indefinite map.
Trait Implementations§
Source§impl Display for Token<'_>
Pretty print a token.
impl Display for Token<'_>
Pretty print a token.
Since we only show a single token we can not use diagnostic notation
as in the Display impl of crate::decode::Tokenizer. Instead, the following
syntax is used:
-
Numeric values and booleans are displayed as in Rust. Floats are always shown in scientific notation.
-
Text strings are displayed in double quotes.
-
Byte strings are displayed in single quotes prefixed with
hand hex-encoded, e.g.h'01 02 ef'. -
An array is displayed as
A[n]wherendenotes the number of elements. The followingntokens are elements of this array. -
A map is displayed as
M[n]wherendenotes the number of pairs. The followingntokens are entries of this map. -
Tags are displayed with
T(t)wheretis the tag number. -
Simple values are displayed as
simple(n)wherendenotes the numeric value. -
Indefinite items start with:
?B[for byte strings,?S[for text strings,?A[for arrays,?M[for maps,
and end with
]when aToken::Breakis encountered. All tokens in between belong to the indefinite container. -
Token::Nullis displayed asnullandToken::Undefinedasundefined.
impl<'b> Copy for Token<'b>
impl<'b> StructuralPartialEq for Token<'b>
Auto Trait Implementations§
impl<'b> Freeze for Token<'b>
impl<'b> RefUnwindSafe for Token<'b>
impl<'b> Send for Token<'b>
impl<'b> Sync for Token<'b>
impl<'b> Unpin for Token<'b>
impl<'b> UnsafeUnpin for Token<'b>
impl<'b> UnwindSafe for Token<'b>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more