jam_types

Trait Encode

Source
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§

Source

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.

Source

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Convert self to a slice and append it to the destination.

Source

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.

Source

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.

Source

fn encoded_size(&self) -> usize

Calculates the encoded size.

Should be used when the encoded data isn’t required.

§Note

This works by using a special Output that only tracks the size. So, there are no allocations inside the output. However, this can not prevent allocations that some types are doing inside their own encoding.

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 Encode for TypeDefPrimitive

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl Encode for bool

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for f32

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for f64

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for i8

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for i16

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for i32

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for i64

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for i128

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for str

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for u8

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for u16

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for u32

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for u64

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for u128

Source§

fn size_hint(&self) -> usize

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for ()

Source§

fn encode_to<W>(&self, _dest: &mut W)
where W: Output + ?Sized,

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

fn encode(&self) -> Vec<u8>

Source§

impl Encode for NonZero<i8>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<i16>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<i32>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<i64>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<i128>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<u8>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<u16>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<u32>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<u64>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for NonZero<u128>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl Encode for Duration

Source§

fn size_hint(&self) -> usize

Source§

fn encode(&self) -> Vec<u8>

Source§

impl Encode for PortableRegistry

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Source§

impl Encode for PortableType

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<'a, T, S> Encode for BoundedSlice<'a, T, S>
where T: Encode, &'a [T]: Encode, PhantomData<S>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

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)
where A0: Encode, B0: Encode, C0: Encode, D0: Encode, E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

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)
where B0: Encode, C0: Encode, D0: Encode, E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

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)
where C0: Encode, D0: Encode, E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

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)
where D0: Encode, E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

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)
where E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

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)
where F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

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)
where G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

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)
where H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)
where I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (J0, K0, L0, M0, N0, O0, P0, Q0, R0)
where J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (K0, L0, M0, N0, O0, P0, Q0, R0)
where K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<K, V> Encode for BTreeMap<K, V>
where K: Encode, V: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<K, V, S> Encode for BoundedBTreeMap<K, V, S>
where BTreeMap<K, V>: Encode, PhantomData<S>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<L0, M0, N0, O0, P0, Q0, R0> Encode for (L0, M0, N0, O0, P0, Q0, R0)
where L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<M0, N0, O0, P0, Q0, R0> Encode for (M0, N0, O0, P0, Q0, R0)
where M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<N0, O0, P0, Q0, R0> Encode for (N0, O0, P0, Q0, R0)
where N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<O0, P0, Q0, R0> Encode for (O0, P0, Q0, R0)
where O0: Encode, P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<P0, Q0, R0> Encode for (P0, Q0, R0)
where P0: Encode, Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<Q0, R0> Encode for (Q0, R0)
where Q0: Encode, R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

impl<R0> Encode for (R0,)
where R0: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Source§

impl<T> Encode for Option<T>
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T> Encode for TypeDef<T>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T> Encode for [T]
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T> Encode for BinaryHeap<T>
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T> Encode for BTreeSet<T>
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T> Encode for LinkedList<T>
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T> Encode for VecDeque<T>
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T> Encode for PhantomData<T>

Source§

fn encode_to<W>(&self, _dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T> Encode for Range<T>
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode(&self) -> Vec<u8>

Source§

impl<T> Encode for RangeInclusive<T>
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode(&self) -> Vec<u8>

Source§

impl<T> Encode for UntrackedSymbol<T>
where PhantomData<fn() -> T>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T> Encode for TypeDefComposite<T>
where T: Form, Vec<Field<T>>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Source§

impl<T> Encode for Field<T>
where T: Form, Option<<T as Form>::String>: Encode, <T as Form>::Type: Encode, Vec<<T as Form>::String>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T> Encode for Path<T>
where T: Form, Vec<<T as Form>::String>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Source§

impl<T> Encode for Type<T>
where T: Form, Path<T>: Encode, Vec<TypeParameter<T>>: Encode, TypeDef<T>: Encode, Vec<<T as Form>::String>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T> Encode for TypeDefArray<T>
where T: Form, <T as Form>::Type: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T> Encode for TypeDefBitSequence<T>
where T: Form, <T as Form>::Type: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T> Encode for TypeDefCompact<T>
where T: Form, <T as Form>::Type: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Source§

impl<T> Encode for TypeDefSequence<T>
where T: Form, <T as Form>::Type: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Source§

impl<T> Encode for TypeDefTuple<T>
where T: Form, Vec<<T as Form>::Type>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Source§

impl<T> Encode for TypeParameter<T>
where T: Form, <T as Form>::String: Encode, Option<<T as Form>::Type>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T> Encode for TypeDefVariant<T>
where T: Form, Vec<Variant<T>>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

fn encode(&self) -> Vec<u8>

Source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Source§

impl<T> Encode for Variant<T>
where T: Form, <T as Form>::String: Encode, Vec<Field<T>>: Encode, Vec<<T as Form>::String>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T, E> Encode for Result<T, E>
where T: Encode, E: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Source§

impl<T, S> Encode for BoundedBTreeSet<T, S>

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T, S> Encode for WeakBoundedVec<T, S>
where Vec<T>: Encode, PhantomData<S>: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Source§

impl<T, const N: usize> Encode for [T; N]
where T: Encode,

Source§

fn size_hint(&self) -> usize

Source§

fn encode_to<W>(&self, dest: &mut W)
where W: Output + ?Sized,

Implementors§

Source§

impl Encode for WorkError

Source§

impl Encode for OptionBool

Source§

impl Encode for AccumulateRootHash

Source§

impl Encode for AnyHash

Source§

impl Encode for AnyVec

Source§

impl Encode for AuthOutput

Source§

impl Encode for AuthParam

Source§

impl Encode for Authorization

Source§

impl Encode for AuthorizerHash

Source§

impl Encode for Bundle

Source§

impl Encode for Code

Source§

impl Encode for CodeHash

Source§

impl Encode for ExtrinsicHash

Source§

impl Encode for HeaderHash

Source§

impl Encode for ItemHash

Source§

impl Encode for Memo

Source§

impl Encode for MerkleNodeHash

Source§

impl Encode for MmrPeakHash

Source§

impl Encode for OpaqueBandersnatchPublic

Source§

impl Encode for OpaqueEd25519Public

Source§

impl Encode for OpaqueValidatorMetadata

Source§

impl Encode for PayloadHash

Source§

impl Encode for SegmentHash

Source§

impl Encode for SegmentTreeRoot

Source§

impl Encode for StateRootHash

Source§

impl Encode for WorkOutput

Source§

impl Encode for WorkPackageHash

Source§

impl Encode for WorkPayload

Source§

impl Encode for WorkReportHash

Source§

impl Encode for AccumulateItem

Source§

impl Encode for AccumulateParams

Source§

impl Encode for Authorizer

Source§

impl Encode for ExtrinsicSpec

Source§

impl Encode for ImportSpec

Source§

impl Encode for OnChainContext

Source§

impl Encode for OnTransferParams

Source§

impl Encode for OpaqueValKeyset

Source§

impl Encode for PackageInfo

Source§

impl Encode for RefineContext

Source§

impl Encode for RefineParams

Source§

impl Encode for ServiceInfo

Source§

impl Encode for TransferRecord

Source§

impl Encode for WorkResult

Source§

impl<'a> Encode for CompactRef<'a, u8>

Source§

impl<'a> Encode for CompactRef<'a, u16>

Source§

impl<'a> Encode for CompactRef<'a, u32>

Source§

impl<'a> Encode for CompactRef<'a, u64>

Source§

impl<'a> Encode for CompactRef<'a, u128>

Source§

impl<'a> Encode for CompactRef<'a, ()>

Source§

impl<'a> Encode for AccumulateParamsRef<'a>

Source§

impl<'a> Encode for OnTransferParamsRef<'a>

Source§

impl<'a, T> Encode for CompactRef<'a, T>
where T: CompactAs, CompactRef<'b, <T as CompactAs>::As>: for<'b> Encode,

Source§

impl<'a, T> Encode for RefineParamsRef<'a, T>
where T: Encode + 'a + Debug + Encode, &'a [T]: Encode,

Source§

impl<K, V> Encode for VecMap<K, V>
where Vec<(K, V)>: Encode,

Source§

impl<RegT> Encode for InvokeArgsT<RegT>
where RegT: Encode, [RegT; 13]: Encode,

Source§

impl<T> Encode for Compact<T>
where CompactRef<'a, T>: for<'a> Encode,

Source§

impl<T> Encode for VecSet<T>
where Vec<T>: Encode,

Source§

impl<T, S> Encode for BoundedVec<T, S>
where Vec<T>: Encode, PhantomData<S>: Encode,

Source§

impl<T, X> Encode for X
where T: Encode + ?Sized, X: WrapperTypeEncode<Target = T>,

Source§

impl<T: Encode, N: Get<u32>> Encode for FixedVec<T, N>

Source§

impl<Xt> Encode for GenericWorkItem<Xt>
where Vec<Xt>: Encode,

Source§

impl<Xt> Encode for GenericWorkPackage<Xt>