Struct scrypto_test::prelude::VecEncoder
source · pub struct VecEncoder<'a, X>where
X: CustomValueKind,{
buf: &'a mut Vec<u8>,
max_depth: usize,
stack_depth: usize,
phantom: PhantomData<X>,
}
Expand description
An Encoder
abstracts the logic for writing core types into a byte buffer.
Fields§
§buf: &'a mut Vec<u8>
§max_depth: usize
§stack_depth: usize
§phantom: PhantomData<X>
Implementations§
source§impl<'a, X> VecEncoder<'a, X>where
X: CustomValueKind,
impl<'a, X> VecEncoder<'a, X>where
X: CustomValueKind,
Trait Implementations§
source§impl<'a> Encode<ManifestCustomValueKind, VecEncoder<'a, ManifestCustomValueKind>> for ManifestArgs
impl<'a> Encode<ManifestCustomValueKind, VecEncoder<'a, ManifestCustomValueKind>> for ManifestArgs
source§fn encode_value_kind(
&self,
encoder: &mut VecEncoder<'a, ManifestCustomValueKind>
) -> Result<(), EncodeError>
fn encode_value_kind( &self, encoder: &mut VecEncoder<'a, ManifestCustomValueKind> ) -> Result<(), EncodeError>
Encodes the SBOR value’s kind to the encoder
source§fn encode_body(
&self,
encoder: &mut VecEncoder<'a, ManifestCustomValueKind>
) -> Result<(), EncodeError>
fn encode_body( &self, encoder: &mut VecEncoder<'a, ManifestCustomValueKind> ) -> Result<(), EncodeError>
Encodes the SBOR body of the type to the encoder. Read more
source§impl<'a, X> Encoder<X> for VecEncoder<'a, X>where
X: CustomValueKind,
impl<'a, X> Encoder<X> for VecEncoder<'a, X>where
X: CustomValueKind,
source§fn encode_deeper_body<T>(&mut self, value: &T) -> Result<(), EncodeError>
fn encode_deeper_body<T>(&mut self, value: &T) -> Result<(), EncodeError>
Encodes the SBOR body of a child value as part of a larger payload. Read more
fn write_byte(&mut self, n: u8) -> Result<(), EncodeError>
fn write_slice(&mut self, slice: &[u8]) -> Result<(), EncodeError>
source§fn encode_payload<T>(
self,
value: &T,
payload_prefix: u8
) -> Result<(), EncodeError>
fn encode_payload<T>( self, value: &T, payload_prefix: u8 ) -> Result<(), EncodeError>
Consumes the Encoder and encodes the value as a full payload Read more
source§fn encode<T>(&mut self, value: &T) -> Result<(), EncodeError>
fn encode<T>(&mut self, value: &T) -> Result<(), EncodeError>
Encodes the value as part of a larger payload Read more
fn write_payload_prefix( &mut self, payload_prefix: u8 ) -> Result<(), EncodeError>
fn write_value_kind(&mut self, ty: ValueKind<X>) -> Result<(), EncodeError>
fn write_discriminator(&mut self, discriminator: u8) -> Result<(), EncodeError>
fn write_size(&mut self, size: usize) -> Result<(), EncodeError>
Auto Trait Implementations§
impl<'a, X> RefUnwindSafe for VecEncoder<'a, X>where
X: RefUnwindSafe,
impl<'a, X> Send for VecEncoder<'a, X>where
X: Send,
impl<'a, X> Sync for VecEncoder<'a, X>where
X: Sync,
impl<'a, X> Unpin for VecEncoder<'a, X>where
X: Unpin,
impl<'a, X> !UnwindSafe for VecEncoder<'a, X>
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.