struct MapValueSeqAccess<'de, 'd, 'm, R, E>where
R: XmlRead<'de>,
E: EntityResolver,{
map: &'m mut ElementMapAccess<'de, 'd, R, E>,
filter: TagFilter<'de>,
checkpoint: usize,
}Expand description
An accessor to sequence elements forming a value for struct field.
Technically, this sequence is flattened out into structure and sequence
elements are overlapped with other fields of a structure. Each call to
Self::next_element_seed consumes a next sub-tree or consequent list
of Text and CData events.
<>
...
<item>The is the one item</item>
This is <![CDATA[one another]]> item<!-- even when--> it splitted by comments
<tag>...and that is the third!</tag>
...
</>Depending on Self::filter, only some of that possible constructs would be
an element.
Fields§
§map: &'m mut ElementMapAccess<'de, 'd, R, E>Accessor to a map that creates this accessor and to a deserializer for a sequence items.
filter: TagFilter<'de>Filter that determines whether a tag is a part of this sequence.
When feature overlapped-lists is not activated, iteration will stop
when found a tag that does not pass this filter.
When feature overlapped-lists is activated, all tags, that not pass
this check, will be skipped.
checkpoint: usizeCheckpoint after which all skipped events should be returned. All events, that was skipped before creating this checkpoint, will still stay buffered and will not be returned
Trait Implementations§
Source§impl<'de, 'd, 'm, R, E> Drop for MapValueSeqAccess<'de, 'd, 'm, R, E>where
R: XmlRead<'de>,
E: EntityResolver,
impl<'de, 'd, 'm, R, E> Drop for MapValueSeqAccess<'de, 'd, 'm, R, E>where
R: XmlRead<'de>,
E: EntityResolver,
Source§impl<'de, 'd, 'm, R, E> SeqAccess<'de> for MapValueSeqAccess<'de, 'd, 'm, R, E>where
R: XmlRead<'de>,
E: EntityResolver,
impl<'de, 'd, 'm, R, E> SeqAccess<'de> for MapValueSeqAccess<'de, 'd, 'm, R, E>where
R: XmlRead<'de>,
E: EntityResolver,
Source§type Error = DeError
type Error = DeError
Source§fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, DeError>where
T: DeserializeSeed<'de>,
fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, DeError>where
T: DeserializeSeed<'de>,
Ok(Some(value)) for the next value in the sequence, or
Ok(None) if there are no more remaining items. Read moreSource§fn 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>,
Ok(Some(value)) for the next value in the sequence, or
Ok(None) if there are no more remaining items. Read more