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: usize
Checkpoint 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