pub trait Encode {
// Provided methods
fn size_hint(&self) -> usize { ... }
fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized { ... }
fn encode(&self) -> Vec<u8> { ... }
fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R { ... }
fn encoded_size(&self) -> usize { ... }
}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 and size_hint
for allocating types. Wrapper types should override all methods.
Provided Methods§
Sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding.
This method is used inside default implementation of encode
to avoid re-allocations.
Sourcefn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
Sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Encode for MessageHandle
impl Encode for MessageHandle
Source§impl Encode for NonZeroU256
impl Encode for NonZeroU256
Source§impl Encode for PortableRegistry
impl Encode for PortableRegistry
Source§impl Encode for PortableType
impl Encode for PortableType
Source§impl Encode for TypeDefPrimitive
impl Encode for TypeDefPrimitive
Source§impl<A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (J0, K0, L0, M0, N0, O0, P0, Q0, R0)
impl<J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (J0, K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (K0, L0, M0, N0, O0, P0, Q0, R0)
impl<K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (K0, L0, M0, N0, O0, P0, Q0, R0)
Source§impl<L0, M0, N0, O0, P0, Q0, R0> Encode for (L0, M0, N0, O0, P0, Q0, R0)
impl<L0, M0, N0, O0, P0, Q0, R0> Encode for (L0, M0, N0, O0, P0, Q0, R0)
Source§impl<M0, N0, O0, P0, Q0, R0> Encode for (M0, N0, O0, P0, Q0, R0)
impl<M0, N0, O0, P0, Q0, R0> Encode for (M0, N0, O0, P0, Q0, R0)
Source§impl<N0, O0, P0, Q0, R0> Encode for (N0, O0, P0, Q0, R0)
impl<N0, O0, P0, Q0, R0> Encode for (N0, O0, P0, Q0, R0)
Source§impl<O0, P0, Q0, R0> Encode for (O0, P0, Q0, R0)
impl<O0, P0, Q0, R0> Encode for (O0, P0, Q0, R0)
Source§impl<P0, Q0, R0> Encode for (P0, Q0, R0)
impl<P0, Q0, R0> Encode for (P0, Q0, R0)
Source§impl<T> Encode for Path<T>
impl<T> Encode for Path<T>
Source§impl<T> Encode for TypeDef<T>where
T: Form,
TypeDefComposite<T>: Encode,
TypeDefVariant<T>: Encode,
TypeDefSequence<T>: Encode,
TypeDefArray<T>: Encode,
TypeDefTuple<T>: Encode,
TypeDefCompact<T>: Encode,
TypeDefBitSequence<T>: Encode,
impl<T> Encode for TypeDef<T>where
T: Form,
TypeDefComposite<T>: Encode,
TypeDefVariant<T>: Encode,
TypeDefSequence<T>: Encode,
TypeDefArray<T>: Encode,
TypeDefTuple<T>: Encode,
TypeDefCompact<T>: Encode,
TypeDefBitSequence<T>: Encode,
Source§impl<T> Encode for TypeDefArray<T>
impl<T> Encode for TypeDefArray<T>
Source§impl<T> Encode for TypeDefBitSequence<T>
impl<T> Encode for TypeDefBitSequence<T>
Source§impl<T> Encode for TypeDefCompact<T>
impl<T> Encode for TypeDefCompact<T>
Source§impl<T> Encode for TypeDefComposite<T>
impl<T> Encode for TypeDefComposite<T>
Source§impl<T> Encode for TypeDefSequence<T>
impl<T> Encode for TypeDefSequence<T>
Source§impl<T> Encode for TypeDefTuple<T>
impl<T> Encode for TypeDefTuple<T>
Source§impl<T> Encode for TypeDefVariant<T>
impl<T> Encode for TypeDefVariant<T>
Source§impl<T> Encode for TypeParameter<T>
impl<T> Encode for TypeParameter<T>
Source§impl<T> Encode for UntrackedSymbol<T>
impl<T> Encode for UntrackedSymbol<T>
Implementors§
impl Encode for ActorId
impl Encode for CodeId
impl Encode for CompactRef<'_, ()>
impl Encode for CompactRef<'_, u8>
impl Encode for CompactRef<'_, u16>
impl Encode for CompactRef<'_, u32>
impl Encode for CompactRef<'_, u64>
impl Encode for CompactRef<'_, u128>
impl Encode for Duration
impl Encode for ErrorReplyReason
impl Encode for ExtError
Available on crate feature
codec only.impl Encode for MessageId
impl Encode for NonZero<i8>
impl Encode for NonZero<i16>
impl Encode for NonZero<i32>
impl Encode for NonZero<i64>
impl Encode for NonZero<i128>
impl Encode for NonZero<u8>
impl Encode for NonZero<u16>
impl Encode for NonZero<u32>
impl Encode for NonZero<u64>
impl Encode for NonZero<u128>
impl Encode for OptionBool
impl Encode for ReplyCode
impl Encode for Reservation
Available on non-crate feature
ethexe only.impl Encode for ReservationId
impl Encode for Reservations
Available on non-crate feature
ethexe only.