Struct sbor::encoder::VecEncoder
source · pub struct VecEncoder<'a, 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: CustomValueKind> VecEncoder<'a, X>
impl<'a, X: CustomValueKind> VecEncoder<'a, X>
pub fn new(buf: &'a mut Vec<u8>, max_depth: usize) -> Self
fn track_stack_depth_increase(&mut self) -> Result<(), EncodeError>
fn track_stack_depth_decrease(&mut self) -> Result<(), EncodeError>
Trait Implementations§
source§impl<'a, X: CustomValueKind> Encoder<X> for VecEncoder<'a, X>
impl<'a, X: CustomValueKind> Encoder<X> for VecEncoder<'a, X>
source§fn encode_deeper_body<T: Encode<X, Self> + ?Sized>(
&mut self,
value: &T
) -> Result<(), EncodeError>
fn encode_deeper_body<T: Encode<X, Self> + ?Sized>( &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: Encode<X, Self> + ?Sized>(
self,
value: &T,
payload_prefix: u8
) -> Result<(), EncodeError>
fn encode_payload<T: Encode<X, Self> + ?Sized>( 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: Encode<X, Self> + ?Sized>(
&mut self,
value: &T
) -> Result<(), EncodeError>
fn encode<T: Encode<X, Self> + ?Sized>( &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§
source§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