pub trait Encode {
// Provided methods
fn encode_to<T: Output>(&self, dest: &mut T) { ... }
fn encode(&self) -> Vec<u8> ⓘ { ... }
fn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R { ... }
}Expand description
Trait that allows zero-copy write of value-references to slices in LE format.
Implementations should override using_encoded for value types and encode_to for allocating types.
Provided Methods§
Sourcefn encode_to<T: Output>(&self, dest: &mut T)
fn encode_to<T: Output>(&self, dest: &mut T)
Convert self to a slice and append it to the destination.
Sourcefn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R
fn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<A: Encode, B: Encode, C: Encode, D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: Encode, B: Encode, C: Encode, D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<B: Encode, C: Encode, D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (B, C, D, E, F, G, H, I, J, K)
impl<B: Encode, C: Encode, D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (B, C, D, E, F, G, H, I, J, K)
Source§impl<C: Encode, D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (C, D, E, F, G, H, I, J, K)
impl<C: Encode, D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (C, D, E, F, G, H, I, J, K)
Source§impl<D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (D, E, F, G, H, I, J, K)
impl<D: Encode, E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (D, E, F, G, H, I, J, K)
Source§impl<E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (E, F, G, H, I, J, K)
impl<E: Encode, F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (E, F, G, H, I, J, K)
Source§impl<F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (F, G, H, I, J, K)
impl<F: Encode, G: Encode, H: Encode, I: Encode, J: Encode, K: Encode> Encode for (F, G, H, I, J, K)
Implementors§
impl Encode for String
Available on crate features
std or full only.impl Encode for Vec<u8>
impl Encode for Compact<u8>
impl Encode for Compact<u16>
impl Encode for Compact<u32>
impl Encode for Compact<u64>
impl Encode for Compact<u128>
impl Encode for Compact<()>
impl<'a, T: ToOwned + ?Sized + 'a> Encode for Cow<'a, T>
Available on crate features
std or full only.