Struct scrypto::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