pub trait SeqAccess<'de> {
type Error: Error;
// Required method
fn next_element_seed<T>(
&mut self,
seed: T
) -> Result<Option<<T as DeserializeSeed<'de>>::Value>, Self::Error>
where T: DeserializeSeed<'de>;
// Provided methods
fn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>
where T: Deserialize<'de> { ... }
fn size_hint(&self) -> Option<usize> { ... }
}
Expand description
Provides a Visitor
access to each element of a sequence in the input.
This is a trait that a Deserializer
passes to a Visitor
implementation,
which deserializes each item in a sequence.
Lifetime
The 'de
lifetime of this trait is the lifetime of data that may be
borrowed by deserialized sequence elements. See the page Understanding
deserializer lifetimes for a more detailed explanation of these lifetimes.
Example implementation
The example data format presented on the website demonstrates an
implementation of SeqAccess
for a basic JSON data format.
Required Associated Types§
Required Methods§
sourcefn next_element_seed<T>(
&mut self,
seed: T
) -> Result<Option<<T as DeserializeSeed<'de>>::Value>, Self::Error>where
T: DeserializeSeed<'de>,
fn next_element_seed<T>(
&mut self,
seed: T
) -> Result<Option<<T as DeserializeSeed<'de>>::Value>, Self::Error>where
T: DeserializeSeed<'de>,
This returns Ok(Some(value))
for the next value in the sequence, or
Ok(None)
if there are no more remaining items.
Deserialize
implementations should typically use
SeqAccess::next_element
instead.
Provided Methods§
sourcefn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>where
T: Deserialize<'de>,
fn next_element<T>(&mut self) -> Result<Option<T>, Self::Error>where
T: Deserialize<'de>,
This returns Ok(Some(value))
for the next value in the sequence, or
Ok(None)
if there are no more remaining items.
This method exists as a convenience for Deserialize
implementations.
SeqAccess
implementations should not override the default behavior.