Struct serde_cbor::Deserializer
source · [−]pub struct Deserializer<R> { /* private fields */ }Expand description
A Serde Deserializer of CBOR data.
Implementations
sourceimpl<R> Deserializer<IoRead<R>>where
R: Read,
impl<R> Deserializer<IoRead<R>>where
R: Read,
sourcepub fn from_reader(reader: R) -> Deserializer<IoRead<R>>
pub fn from_reader(reader: R) -> Deserializer<IoRead<R>>
Constructs a Deserializer which reads from a Reader.
sourceimpl<'a> Deserializer<SliceRead<'a>>
impl<'a> Deserializer<SliceRead<'a>>
sourcepub fn from_slice(bytes: &'a [u8]) -> Deserializer<SliceRead<'a>>
pub fn from_slice(bytes: &'a [u8]) -> Deserializer<SliceRead<'a>>
Constructs a Deserializer which reads from a slice.
Borrowed strings and byte slices will be provided when possible.
sourceimpl<'a> Deserializer<MutSliceRead<'a>>
impl<'a> Deserializer<MutSliceRead<'a>>
sourcepub fn from_mut_slice(bytes: &'a mut [u8]) -> Deserializer<MutSliceRead<'a>>
pub fn from_mut_slice(bytes: &'a mut [u8]) -> Deserializer<MutSliceRead<'a>>
Constructs a Deserializer which reads from a mutable slice that doubles as its own
scratch buffer.
Borrowed strings and byte slices will be provided even for indefinite strings.
sourceimpl<'de, R> Deserializer<R>where
R: Read<'de>,
impl<'de, R> Deserializer<R>where
R: Read<'de>,
sourcepub fn new(read: R) -> Self
pub fn new(read: R) -> Self
Constructs a Deserializer from one of the possible serde_cbor input sources.
from_slice and from_reader should normally be used instead of this method.
sourcepub fn disable_named_format(self) -> Self
pub fn disable_named_format(self) -> Self
Don’t accept named variants and fields.
sourcepub fn disable_packed_format(self) -> Self
pub fn disable_packed_format(self) -> Self
Don’t accept numbered variants and fields.
sourcepub fn disable_standard_enums(self) -> Self
pub fn disable_standard_enums(self) -> Self
Don’t accept the new enum format used by serde_cbor versions >= v0.10.
sourcepub fn disable_legacy_enums(self) -> Self
pub fn disable_legacy_enums(self) -> Self
Don’t accept the old enum format used by serde_cbor versions <= v0.9.
sourcepub fn end(&mut self) -> Result<()>
pub fn end(&mut self) -> Result<()>
This method should be called after a value has been deserialized to ensure there is no trailing data in the input source.
sourcepub fn into_iter<T>(self) -> StreamDeserializer<'de, R, T>ⓘNotable traits for StreamDeserializer<'de, R, T>impl<'de, R, T> Iterator for StreamDeserializer<'de, R, T>where
R: Read<'de>,
T: Deserialize<'de>, type Item = Result<T>;where
T: Deserialize<'de>,
pub fn into_iter<T>(self) -> StreamDeserializer<'de, R, T>ⓘNotable traits for StreamDeserializer<'de, R, T>impl<'de, R, T> Iterator for StreamDeserializer<'de, R, T>where
R: Read<'de>,
T: Deserialize<'de>, type Item = Result<T>;where
T: Deserialize<'de>,
R: Read<'de>,
T: Deserialize<'de>, type Item = Result<T>;
Turn a CBOR deserializer into an iterator over values of type T.
sourceimpl<R> Deserializer<R>where
R: Offset,
impl<R> Deserializer<R>where
R: Offset,
sourcepub fn byte_offset(&self) -> usize
pub fn byte_offset(&self) -> usize
Return the current offset in the reader
Trait Implementations
sourceimpl<R: Debug> Debug for Deserializer<R>
impl<R: Debug> Debug for Deserializer<R>
sourceimpl<'de, 'a, R> Deserializer<'de> for &'a mut Deserializer<R>where
R: Read<'de>,
impl<'de, 'a, R> Deserializer<'de> for &'a mut Deserializer<R>where
R: Read<'de>,
type Error = Error
type Error = Error
sourcefn deserialize_any<V>(self, visitor: V) -> Result<V::Value>where
V: Visitor<'de>,
fn deserialize_any<V>(self, visitor: V) -> Result<V::Value>where
V: Visitor<'de>,
Deserializer to figure out how to drive the visitor based
on what data type is in the input. Read moresourcefn deserialize_option<V>(self, visitor: V) -> Result<V::Value>where
V: Visitor<'de>,
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value>where
V: Visitor<'de>,
Deserialize type is expecting an optional value. Read moresourcefn deserialize_newtype_struct<V>(
self,
_name: &str,
visitor: V
) -> Result<V::Value>where
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
_name: &str,
visitor: V
) -> Result<V::Value>where
V: Visitor<'de>,
Deserialize type is expecting a newtype struct with a
particular name. Read moresourcefn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<V::Value>where
V: Visitor<'de>,
fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<V::Value>where
V: Visitor<'de>,
Deserialize type is expecting an enum value with a
particular name and possible variants. Read moresourcefn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Deserialize implementations should expect to
deserialize their human-readable form. Read moresourcefn deserialize_bool<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_bool<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a bool value.sourcefn deserialize_i8<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_i8<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting an i8 value.sourcefn deserialize_i16<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_i16<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting an i16 value.sourcefn deserialize_i32<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_i32<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting an i32 value.sourcefn deserialize_i64<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_i64<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting an i64 value.sourcefn deserialize_i128<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_i128<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
sourcefn deserialize_u8<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_u8<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a u8 value.sourcefn deserialize_u16<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_u16<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a u16 value.sourcefn deserialize_u32<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_u32<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a u32 value.sourcefn deserialize_u64<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_u64<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a u64 value.sourcefn deserialize_u128<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_u128<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
sourcefn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a f32 value.sourcefn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a f64 value.sourcefn deserialize_char<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_char<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a char value.sourcefn deserialize_str<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_str<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a string value and does
not benefit from taking ownership of buffered data owned by the
Deserializer. Read moresourcefn deserialize_string<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_string<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a string value and would
benefit from taking ownership of buffered data owned by the
Deserializer. Read moresourcefn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a unit value.sourcefn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a unit struct with a
particular name. Read moresourcefn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a sequence of values.sourcefn deserialize_tuple<V>(
self,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_tuple<V>(
self,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a sequence of values and
knows how many values there are without looking at the serialized data. Read moresourcefn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a tuple struct with a
particular name and number of fields. Read moresourcefn deserialize_map<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_map<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a map of key-value pairs.sourcefn deserialize_struct<V>(
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_struct<V>(
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V
) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting a struct with a particular
name and fields. Read moresourcefn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type is expecting the name of a struct
field or the discriminant of an enum variant. Read moresourcefn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
fn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>where
V: Visitor<'de>,
Deserialize type needs to deserialize a value whose type
doesn’t matter because it is ignored. Read more