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 {
    // some 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]

fn new(iter: I, len: usize) -> Self

Construct a new MapDeserializer<I, K, V>.

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]

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

This method walks a visitor through a value as it is being deserialized.

fn deserialize_bool<V>(&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

This method hints that the Deserialize type is expecting an usize value.

fn deserialize_u8<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an u8 value.

fn deserialize_u16<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an u16 value.

fn deserialize_u32<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an u32 value.

fn deserialize_u64<V>(&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

This method hints that the Deserialize type is expecting an isize value.

fn deserialize_i8<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an i8 value.

fn deserialize_i16<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an i16 value.

fn deserialize_i32<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an i32 value.

fn deserialize_i64<V>(&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

This method hints that the Deserialize type is expecting a f32 value.

fn deserialize_f64<V>(&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

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

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

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

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

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_seq<V>(&mut self, visitor: V) -> Result<V::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. Read more

fn deserialize_fixed_size_array<V>(&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_bytes<V>(&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

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, _name: &'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, name: &'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. Read more

fn deserialize_tuple_struct<V>(&mut self, _name: &'static str, len: 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, _name: &'static str, _fields: &'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

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, _len: 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, _enum: &'static str, _variants: &'static [&'static str], _visitor: 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

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]

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

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

This returns a Ok(value) for the next value in the map.

fn end(&mut self) -> Result<(), Self::Error>

This signals to the MapVisitor that the Visitor does not expect any more items.

fn size_hint(&self) -> (usize, Option<usize>)

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

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

Report that the struct has a field that wasn't deserialized