Struct EncodeLeaf

Source
pub struct EncodeLeaf<'b, B: Buffer> { /* private fields */ }
Expand description

Encodes a leaf (bytestring)

Implementations§

Source§

impl<'b, B: Buffer> EncodeLeaf<'b, B>

Source

pub fn new(buffer: &'b mut B) -> Self

Constructs a leaf

Source

pub fn set_tag(&mut self, tag: &'b [u8])

Specifies a domain separation tag

Tag will be unambiguously encoded

Source

pub fn with_tag(self, tag: &'b [u8]) -> Self

Specifies a domain separation tag

Tag will be unambiguously encoded

Source

pub fn chain(self, bytes: impl AsRef<[u8]>) -> Self

Chains a bytestring

Encoded value will correspond to concatenation of all the chained bytestrings

Source

pub fn update(&mut self, bytes: &[u8])

Appends a bytestring

Encoded value will correspond to concatenation of all the chained bytestrings

§Panic

Panics if total length of the leaf overflows usize

Source

pub fn finish(self)

Finalizes the encoding, puts the necessary metadata to the buffer

It’s an alias to dropping the encoder

Trait Implementations§

Source§

impl<'b, B: Buffer> Drop for EncodeLeaf<'b, B>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'b, B> Freeze for EncodeLeaf<'b, B>

§

impl<'b, B> RefUnwindSafe for EncodeLeaf<'b, B>
where B: RefUnwindSafe,

§

impl<'b, B> Send for EncodeLeaf<'b, B>
where B: Send,

§

impl<'b, B> Sync for EncodeLeaf<'b, B>
where B: Sync,

§

impl<'b, B> Unpin for EncodeLeaf<'b, B>

§

impl<'b, B> !UnwindSafe for EncodeLeaf<'b, B>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.