Struct serde::de::value::MapDeserializer
[−]
[src]
pub struct MapDeserializer<I, K, V, E> where
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error, { /* fields omitted */ }A helper deserializer that deserializes a map.
Methods
impl<I, K, V, E> MapDeserializer<I, K, V, E> where
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error, [src]
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error,
fn new(iter: I, len: usize) -> Self[src]
Construct a new MapDeserializer<I, K, V, E> with a specific length.
fn unbounded(iter: I) -> Self[src]
Construct a new MapDeserializer<I, K, V, E> that is not bounded
by a specific length and that delegates to iter for its size hint.
Trait Implementations
impl<I, K, V, E> Deserializer for MapDeserializer<I, K, V, E> where
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error, [src]
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error,
type Error = E
The error type that can be returned if some error occurs during deserialization.
fn deserialize<V_>(&mut self, visitor: V_) -> Result<V_::Value, Self::Error> where
V_: Visitor, [src]
V_: Visitor,
This method walks a visitor through a value as it is being deserialized.
fn deserialize_seq<V_>(&mut self, visitor: V_) -> Result<V_::Value, Self::Error> where
V_: Visitor, [src]
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. Read more
fn deserialize_seq_fixed_size<V_>(
&mut self,
len: usize,
visitor: V_
) -> Result<V_::Value, Self::Error> where
V_: Visitor, [src]
&mut self,
len: usize,
visitor: V_
) -> Result<V_::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 more
fn deserialize_bool<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting a bool value.
fn deserialize_usize<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an usize value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u8<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an u8 value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u16<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an u16 value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u32<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an u32 value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u64<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an u64 value.
fn deserialize_isize<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an isize value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i8<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an i8 value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i16<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an i16 value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i32<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an i32 value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i64<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an i64 value.
fn deserialize_f32<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting a f32 value. A reasonable default is to forward to deserialize_f64. Read more
fn deserialize_f64<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting a f64 value.
fn deserialize_char<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting a char value.
fn deserialize_str<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting a &str value.
fn deserialize_string<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting a String value.
fn deserialize_unit<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type is expecting an unit value.
fn deserialize_option<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::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). Read more
fn deserialize_bytes<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::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. Read more
fn deserialize_map<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::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. Read more
fn deserialize_unit_struct<__V>(
&mut self,
_: &'static str,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
_: &'static str,
visitor: __V
) -> Result<__V::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. Read more
fn deserialize_newtype_struct<__V>(
&mut self,
_: &'static str,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
_: &'static str,
visitor: __V
) -> Result<__V::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. A reasonable default is to simply deserialize the expected value directly. Read more
fn deserialize_tuple_struct<__V>(
&mut self,
_: &'static str,
_: usize,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
_: &'static str,
_: usize,
visitor: __V
) -> Result<__V::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. Read more
fn deserialize_struct<__V>(
&mut self,
_: &'static str,
_: &'static [&'static str],
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
_: &'static str,
_: &'static [&'static str],
visitor: __V
) -> Result<__V::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. Read more
fn deserialize_struct_field<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::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. Read more
fn deserialize_tuple<__V>(
&mut self,
_: usize,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
_: usize,
visitor: __V
) -> Result<__V::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. Read more
fn deserialize_enum<__V>(
&mut self,
_: &str,
_: &[&str],
_: __V
) -> Result<__V::Value, Self::Error> where
__V: EnumVisitor, [src]
&mut self,
_: &str,
_: &[&str],
_: __V
) -> Result<__V::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. Read more
fn deserialize_ignored_any<__V>(
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor, [src]
&mut self,
visitor: __V
) -> Result<__V::Value, Self::Error> where
__V: Visitor,
This method hints that the Deserialize type needs to deserialize a value whose type doesn't matter because it is ignored. Read more
impl<I, K, V, E> MapVisitor for MapDeserializer<I, K, V, E> where
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error, [src]
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error,
type Error = E
The error type that can be returned if some error occurs during deserialization.
fn visit_key<T>(&mut self) -> Result<Option<T>, Self::Error> where
T: Deserialize, [src]
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. Read more
fn visit_value<T>(&mut self) -> Result<T, Self::Error> where
T: Deserialize, [src]
T: Deserialize,
This returns a Ok(value) for the next value in the map.
fn end(&mut self) -> Result<(), Self::Error>[src]
This signals to the MapVisitor that the Visitor does not expect any more items.
fn size_hint(&self) -> (usize, Option<usize>)[src]
Return the lower and upper bound of items remaining in the sequence.
fn visit<K, V>(&mut self) -> Result<Option<(K, V)>, Self::Error> where
K: Deserialize,
V: Deserialize, [src]
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. Read more
fn missing_field<V>(&mut self, field: &'static str) -> Result<V, Self::Error> where
V: Deserialize, [src]
V: Deserialize,
Report that the struct has a field that wasn't deserialized
impl<I, K, V, E> SeqVisitor for MapDeserializer<I, K, V, E> where
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error, [src]
I: Iterator<Item = (K, V)>,
K: ValueDeserializer<E>,
V: ValueDeserializer<E>,
E: Error,
type Error = E
The error type that can be returned if some error occurs during deserialization.
fn visit<T>(&mut self) -> Result<Option<T>, Self::Error> where
T: Deserialize, [src]
T: Deserialize,
This returns a Ok(Some(value)) for the next value in the sequence, or Ok(None) if there are no more remaining items. Read more
fn end(&mut self) -> Result<(), Self::Error>[src]
This signals to the SeqVisitor that the Visitor does not expect any more items.
fn size_hint(&self) -> (usize, Option<usize>)[src]
Return the lower and upper bound of items remaining in the sequence.