SliceEncoder

Struct SliceEncoder 

Source
pub struct SliceEncoder<'e, T: Encodable> { /* private fields */ }
Expand description

An encoder for a list of encodable types.

Implementations§

Source§

impl<'e, T: Encodable> SliceEncoder<'e, T>

Source

pub fn without_length_prefix(sl: &'e [T]) -> Self

Constructs an encoder which encodes the slice without adding the length prefix.

To encode with a length prefix consider using the Encoder2.

E.g, Encoder2<CompactSizeEncoder, SliceEncoder<'e, Foo>>.

Examples found in repository?
examples/encoder.rs (line 44)
41    fn encoder(&self) -> Self::Encoder<'_> {
42        let a = Encoder2::new(
43            CompactSizeEncoder::new(self.v.len()),
44            SliceEncoder::without_length_prefix(&self.v),
45        );
46        let b = BytesEncoder::without_length_prefix(self.b.as_ref());
47
48        AdtEncoder(Encoder2::new(a, b))
49    }

Trait Implementations§

Source§

impl<T: Encodable> Encoder for SliceEncoder<'_, T>

Source§

fn current_chunk(&self) -> &[u8]

Yields the current encoded byteslice. Read more
Source§

fn advance(&mut self) -> bool

Moves the encoder to its next state. Read more

Auto Trait Implementations§

§

impl<'e, T> Freeze for SliceEncoder<'e, T>
where <T as Encodable>::Encoder<'e>: Freeze,

§

impl<'e, T> RefUnwindSafe for SliceEncoder<'e, T>

§

impl<'e, T> Send for SliceEncoder<'e, T>
where <T as Encodable>::Encoder<'e>: Send, T: Sync,

§

impl<'e, T> Sync for SliceEncoder<'e, T>
where <T as Encodable>::Encoder<'e>: Sync, T: Sync,

§

impl<'e, T> Unpin for SliceEncoder<'e, T>
where <T as Encodable>::Encoder<'e>: Unpin,

§

impl<'e, T> UnwindSafe for SliceEncoder<'e, T>
where <T as Encodable>::Encoder<'e>: UnwindSafe, T: RefUnwindSafe,

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, 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.