[][src]Trait serde::de::MapVisitor

pub trait MapVisitor {
    type Error: Error;
    fn visit_key<K>(&mut self) -> Result<Option<K>, Self::Error>
    where
        K: Deserialize
;
fn visit_value<V>(&mut self) -> Result<V, Self::Error>
    where
        V: Deserialize
;
fn end(&mut self) -> Result<(), Self::Error>; fn visit<K, V>(&mut self) -> Result<Option<(K, V)>, Self::Error>
    where
        K: Deserialize,
        V: Deserialize
, { ... }
fn size_hint(&self) -> (usize, Option<usize>) { ... }
fn missing_field<V>(
        &mut self,
        field: &'static str
    ) -> Result<V, Self::Error>
    where
        V: Deserialize
, { ... } }

MapVisitor visits each item in a sequence.

This is a trait that a Deserializer passes to a Visitor implementation.

Associated Types

type Error: Error

The error type that can be returned if some error occurs during deserialization.

Loading content...

Required methods

fn visit_key<K>(&mut self) -> Result<Option<K>, Self::Error> where
    K: Deserialize

This returns a Ok(Some(key)) for the next key in the map, or Ok(None) if there are no more remaining items.

fn visit_value<V>(&mut self) -> Result<V, Self::Error> where
    V: 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.

Loading content...

Provided methods

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.

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

Return the lower and upper bound of items remaining in the sequence.

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

Loading content...

Implementations on Foreign Types

impl<'a, V_> MapVisitor for &'a mut V_ where
    V_: MapVisitor
[src]

type Error = V_::Error

Loading content...

Implementors

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

Loading content...