Struct scrypto::prelude::radix_engine_common::prelude::traversal::VecTraverser
source · pub struct VecTraverser<'de, C>where
C: CustomTraversal,{
max_depth: usize,
check_exact_end: bool,
decoder: VecDecoder<'de, <C as CustomTraversal>::CustomValueKind>,
container_stack: Vec<ContainerState<C>>,
next_event_override: NextEventOverride<<C as CustomTraversal>::CustomValueKind>,
}
Expand description
The VecTraverser
is for streamed decoding of a payload or single encoded value (tree).
It turns payload decoding into a pull-based event stream.
The caller is responsible for stopping calling next_event
after an Error or End event.
Fields§
§max_depth: usize
§check_exact_end: bool
§decoder: VecDecoder<'de, <C as CustomTraversal>::CustomValueKind>
§container_stack: Vec<ContainerState<C>>
§next_event_override: NextEventOverride<<C as CustomTraversal>::CustomValueKind>
Implementations§
source§impl<'de, T> VecTraverser<'de, T>where
T: CustomTraversal,
impl<'de, T> VecTraverser<'de, T>where
T: CustomTraversal,
pub fn new( input: &'de [u8], max_depth: usize, expected_start: ExpectedStart<<T as CustomTraversal>::CustomValueKind>, check_exact_end: bool ) -> VecTraverser<'de, T>
pub fn next_event<'t>(&'t mut self) -> LocatedTraversalEvent<'t, 'de, T>
Auto Trait Implementations§
impl<'de, C> RefUnwindSafe for VecTraverser<'de, C>
impl<'de, C> Send for VecTraverser<'de, C>
impl<'de, C> Sync for VecTraverser<'de, C>
impl<'de, C> Unpin for VecTraverser<'de, C>
impl<'de, C> UnwindSafe for VecTraverser<'de, C>
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more