pub struct MapDeserializer<I, K, V, E>{ /* private fields */ }Expand description
A helper deserializer that deserializes a map.
Implementations§
Source§impl<I, K, V, E> MapDeserializer<I, K, V, E>
impl<I, K, V, E> MapDeserializer<I, K, V, E>
Sourcepub fn new(iter: I, len: usize) -> MapDeserializer<I, K, V, E>
pub fn new(iter: I, len: usize) -> MapDeserializer<I, K, V, E>
Construct a new MapDeserializer<I, K, V>.
Trait Implementations§
Source§impl<I, K, V, E> Deserializer for MapDeserializer<I, K, V, E>
impl<I, K, V, E> Deserializer for MapDeserializer<I, K, V, E>
Source§type Error = E
type Error = E
The error type that can be returned if some error occurs during deserialization.
Source§fn deserialize<V_>(
&mut self,
visitor: V_,
) -> Result<<V_ as Visitor>::Value, <MapDeserializer<I, K, V, E> as Deserializer>::Error>where
V_: Visitor,
fn deserialize<V_>(
&mut self,
visitor: V_,
) -> Result<<V_ as Visitor>::Value, <MapDeserializer<I, K, V, E> as Deserializer>::Error>where
V_: Visitor,
This method walks a visitor through a value as it is being deserialized.
Source§fn deserialize_bool<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_bool<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a bool value.Source§fn deserialize_usize<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_usize<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an usize value.Source§fn deserialize_u8<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_u8<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an u8 value.Source§fn deserialize_u16<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_u16<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an u16 value.Source§fn deserialize_u32<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_u32<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an u32 value.Source§fn deserialize_u64<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_u64<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an u64 value.Source§fn deserialize_isize<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_isize<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an isize value.Source§fn deserialize_i8<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_i8<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an i8 value.Source§fn deserialize_i16<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_i16<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an i16 value.Source§fn deserialize_i32<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_i32<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an i32 value.Source§fn deserialize_i64<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_i64<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an i64 value.Source§fn deserialize_f32<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_f32<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a f32 value.Source§fn deserialize_f64<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_f64<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a f64 value.Source§fn deserialize_char<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_char<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a char value.Source§fn deserialize_str<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_str<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a &str value.Source§fn deserialize_string<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_string<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a String value.Source§fn deserialize_unit<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_unit<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an unit value.Source§fn deserialize_option<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_option<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting an Option value. This allows
deserializers that encode an optional value as a nullable value to convert the null value
into a None, and a regular value as Some(value).Source§fn deserialize_seq<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_seq<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a sequence value. This allows
deserializers to parse sequences that aren’t tagged as sequences.Source§fn deserialize_fixed_size_array<V>(
&mut self,
_len: usize,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_fixed_size_array<V>(
&mut self,
_len: usize,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a fixed size array. This allows
deserializers to parse arrays that aren’t tagged as arrays. Read moreSource§fn deserialize_bytes<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_bytes<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a Vec<u8>. This allows
deserializers that provide a custom byte vector serialization to properly deserialize the
type.Source§fn deserialize_map<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_map<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a map of values. This allows
deserializers to parse sequences that aren’t tagged as maps.Source§fn deserialize_unit_struct<V>(
&mut self,
_name: &'static str,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_unit_struct<V>(
&mut self,
_name: &'static str,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a unit struct. This allows
deserializers to a unit struct that aren’t tagged as a unit struct.Source§fn deserialize_newtype_struct<V>(
&mut self,
name: &'static str,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_newtype_struct<V>(
&mut self,
name: &'static str,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a newtype struct. This allows
deserializers to a newtype struct that aren’t tagged as a newtype struct.Source§fn deserialize_tuple_struct<V>(
&mut self,
_name: &'static str,
len: usize,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_tuple_struct<V>(
&mut self,
_name: &'static str,
len: usize,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a tuple struct. This allows
deserializers to parse sequences that aren’t tagged as sequences.Source§fn deserialize_struct<V>(
&mut self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_struct<V>(
&mut self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a struct. This allows
deserializers to parse sequences that aren’t tagged as maps.Source§fn deserialize_struct_field<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_struct_field<V>(
&mut self,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting some sort of struct field
name. This allows deserializers to choose between &str, usize, or &u8 to properly
deserialize a struct field.Source§fn deserialize_tuple<V>(
&mut self,
_len: usize,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
fn deserialize_tuple<V>(
&mut self,
_len: usize,
visitor: V,
) -> Result<<V as Visitor>::Value, Self::Error>where
V: Visitor,
This method hints that the
Deserialize type is expecting a tuple value. This allows
deserializers that provide a custom tuple serialization to properly deserialize the type.Source§fn deserialize_enum<V>(
&mut self,
_enum: &'static str,
_variants: &'static [&'static str],
_visitor: V,
) -> Result<<V as EnumVisitor>::Value, Self::Error>where
V: EnumVisitor,
fn deserialize_enum<V>(
&mut self,
_enum: &'static str,
_variants: &'static [&'static str],
_visitor: V,
) -> Result<<V as EnumVisitor>::Value, Self::Error>where
V: EnumVisitor,
This method hints that the
Deserialize type is expecting an enum value. This allows
deserializers that provide a custom enumeration serialization to properly deserialize the
type.Source§impl<I, K, V, E> MapVisitor for MapDeserializer<I, K, V, E>
impl<I, K, V, E> MapVisitor for MapDeserializer<I, K, V, E>
Source§type Error = E
type Error = E
The error type that can be returned if some error occurs during deserialization.
Source§fn visit_key<T>(
&mut self,
) -> Result<Option<T>, <MapDeserializer<I, K, V, E> as MapVisitor>::Error>where
T: Deserialize,
fn visit_key<T>(
&mut self,
) -> Result<Option<T>, <MapDeserializer<I, K, V, E> as MapVisitor>::Error>where
T: Deserialize,
This returns a
Ok(Some(key)) for the next key in the map, or Ok(None) if there are no
more remaining items.Source§fn visit_value<T>(
&mut self,
) -> Result<T, <MapDeserializer<I, K, V, E> as MapVisitor>::Error>where
T: Deserialize,
fn visit_value<T>(
&mut self,
) -> Result<T, <MapDeserializer<I, K, V, E> as MapVisitor>::Error>where
T: Deserialize,
This returns a
Ok(value) for the next value in the map.Source§fn end(
&mut self,
) -> Result<(), <MapDeserializer<I, K, V, E> as MapVisitor>::Error>
fn end( &mut self, ) -> Result<(), <MapDeserializer<I, K, V, E> as MapVisitor>::Error>
This signals to the
MapVisitor that the Visitor does not expect any more items.Source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Return the lower and upper bound of items remaining in the sequence.
Source§fn visit<K, V>(&mut self) -> Result<Option<(K, V)>, Self::Error>where
K: Deserialize,
V: Deserialize,
fn visit<K, V>(&mut self) -> Result<Option<(K, V)>, Self::Error>where
K: Deserialize,
V: Deserialize,
This returns a
Ok(Some((key, value))) for the next (key-value) pair in the map, or
Ok(None) if there are no more remaining items.Source§fn missing_field<V>(&mut self, field: &'static str) -> Result<V, Self::Error>where
V: Deserialize,
fn missing_field<V>(&mut self, field: &'static str) -> Result<V, Self::Error>where
V: Deserialize,
Report that the struct has a field that wasn’t deserialized
Auto Trait Implementations§
impl<I, K, V, E> Freeze for MapDeserializer<I, K, V, E>
impl<I, K, V, E> RefUnwindSafe for MapDeserializer<I, K, V, E>
impl<I, K, V, E> Send for MapDeserializer<I, K, V, E>
impl<I, K, V, E> Sync for MapDeserializer<I, K, V, E>
impl<I, K, V, E> Unpin for MapDeserializer<I, K, V, E>
impl<I, K, V, E> UnwindSafe for MapDeserializer<I, K, V, E>
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