Trait Encodable

Source
pub trait Encodable<E>
where E: BaseEncoder,
{ type Error: From<E::Error>; // Required method fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>; }
Expand description

A trait for types that can be encoded into a specific encoder.

Defines a generic interface for encoding data structures into an encoder.

§A note about purity

Implementations of Encodable must be pure. That means:

  • No side effects: Implementations must not modify global or external state.
  • Deterministic: Given the same input and encoder, the output must always be the same.
  • No panics: Panicking inside an encode implementation is considered a bug.

Ignoring these rules may lead to logic errors.

§Encoder Specialization

On nightly Rust, you can use trait specialization to implement optimized encodings for specific encoders, such as SizeEncoder. For example, you may want to use this if your encoder runs computationally expensive operations for obtaining the size of the encoded form.

§Errors

Implementations must return an appropriate error if encoding fails. Errors can occur if:

  • The encoder encounters an internal error (e.g., out of space).
  • The encoded output would be invalid.

Control flow may depend on these errors (unlike core::fmt::Write).

Required Associated Types§

Source

type Error: From<E::Error>

The error type returned by the encode method.

This must include the encoder’s error type via From<E::Error>.

Required Methods§

Source

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Encodes self into the given encoder.

§Errors

Returns an error if writing fails or if the encoded output would be invalid.

Implementations on Foreign Types§

Source§

impl<E> Encodable<E> for str
where E: StrEncoder,

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E> Encodable<E> for CStr
where E: ByteEncoder,

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E> Encodable<E> for [u8]
where E: ByteEncoder,

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E, T> Encodable<E> for Cow<'_, T>
where T: ToOwned + Encodable<E> + ?Sized, E: BaseEncoder,

Source§

type Error = <T as Encodable<E>>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: BaseEncoder> Encodable<E> for ()

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, _encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: BaseEncoder, T: Encodable<E>> Encodable<E> for Box<T>

Source§

type Error = <T as Encodable<E>>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder> Encodable<E> for i8

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder> Encodable<E> for u8

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder> Encodable<E> for CString

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder> Encodable<E> for Vec<u8>

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder> Encodable<E> for Bytes

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder> Encodable<E> for BytesMut

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder> Encodable<E> for [bool; 8]

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: ByteEncoder, const N: usize> Encodable<E> for ArrayVec<u8, N>

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: StrEncoder> Encodable<E> for char

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: StrEncoder> Encodable<E> for String

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: StrEncoder> Encodable<E> for Arguments<'_>

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<E: StrEncoder, const N: usize> Encodable<E> for ArrayString<N>

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<ENC, A> Encodable<ENC> for (A,)
where ENC: BaseEncoder, A: Encodable<ENC>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B> Encodable<ENC> for (A, B)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C> Encodable<ENC> for (A, B, C)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D> Encodable<ENC> for (A, B, C, D)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E> Encodable<ENC> for (A, B, C, D, E)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F> Encodable<ENC> for (A, B, C, D, E, F)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G> Encodable<ENC> for (A, B, C, D, E, F, G)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H> Encodable<ENC> for (A, B, C, D, E, F, G, H)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I> Encodable<ENC> for (A, B, C, D, E, F, G, H, I)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>, T: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>, T: Encodable<ENC, Error = A::Error>, U: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>, T: Encodable<ENC, Error = A::Error>, U: Encodable<ENC, Error = A::Error>, V: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>, T: Encodable<ENC, Error = A::Error>, U: Encodable<ENC, Error = A::Error>, V: Encodable<ENC, Error = A::Error>, W: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>, T: Encodable<ENC, Error = A::Error>, U: Encodable<ENC, Error = A::Error>, V: Encodable<ENC, Error = A::Error>, W: Encodable<ENC, Error = A::Error>, X: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>, T: Encodable<ENC, Error = A::Error>, U: Encodable<ENC, Error = A::Error>, V: Encodable<ENC, Error = A::Error>, W: Encodable<ENC, Error = A::Error>, X: Encodable<ENC, Error = A::Error>, Y: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<ENC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z> Encodable<ENC> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
where ENC: BaseEncoder, A: Encodable<ENC>, B: Encodable<ENC, Error = A::Error>, C: Encodable<ENC, Error = A::Error>, D: Encodable<ENC, Error = A::Error>, E: Encodable<ENC, Error = A::Error>, F: Encodable<ENC, Error = A::Error>, G: Encodable<ENC, Error = A::Error>, H: Encodable<ENC, Error = A::Error>, I: Encodable<ENC, Error = A::Error>, J: Encodable<ENC, Error = A::Error>, K: Encodable<ENC, Error = A::Error>, L: Encodable<ENC, Error = A::Error>, M: Encodable<ENC, Error = A::Error>, N: Encodable<ENC, Error = A::Error>, O: Encodable<ENC, Error = A::Error>, P: Encodable<ENC, Error = A::Error>, Q: Encodable<ENC, Error = A::Error>, R: Encodable<ENC, Error = A::Error>, S: Encodable<ENC, Error = A::Error>, T: Encodable<ENC, Error = A::Error>, U: Encodable<ENC, Error = A::Error>, V: Encodable<ENC, Error = A::Error>, W: Encodable<ENC, Error = A::Error>, X: Encodable<ENC, Error = A::Error>, Y: Encodable<ENC, Error = A::Error>, Z: Encodable<ENC, Error = A::Error>,

Source§

type Error = <A as Encodable<ENC>>::Error

Source§

fn encode(&self, encoder: &mut ENC) -> Result<(), Self::Error>

Source§

impl<Encoder> Encodable<Encoder> for bool
where Encoder: ByteEncoder,

Source§

type Error = <Encoder as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut Encoder) -> Result<(), Self::Error>

Source§

impl<T, E> Encodable<E> for Option<T>
where T: Encodable<E>, E: BaseEncoder,

Source§

type Error = <T as Encodable<E>>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<T, E> Encodable<E> for Result<T, T::Error>
where T: Encodable<E>, E: BaseEncoder, T::Error: Clone,

Source§

type Error = <T as Encodable<E>>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Source§

impl<T, Encoder> Encodable<Encoder> for &T
where T: Encodable<Encoder> + ?Sized, Encoder: BaseEncoder,

Source§

type Error = <T as Encodable<Encoder>>::Error

Source§

fn encode(&self, encoder: &mut Encoder) -> Result<(), Self::Error>

Source§

impl<const SIZE: usize, E> Encodable<E> for [u8; SIZE]
where E: ByteEncoder,

Source§

type Error = <E as BaseEncoder>::Error

Source§

fn encode(&self, encoder: &mut E) -> Result<(), Self::Error>

Implementors§

Source§

impl<E: ByteEncoder> Encodable<E> for BE<f32>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<f64>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<i8>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<i16>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<i32>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<i64>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<i128>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<u8>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<u16>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<u32>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<u64>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<u128>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<i8>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<i16>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<i32>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<i64>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<i128>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<u8>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<u16>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<u32>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<u64>>

Source§

impl<E: ByteEncoder> Encodable<E> for BE<NonZero<u128>>

Source§

impl<E: ByteEncoder> Encodable<E> for Flags

Source§

impl<E: ByteEncoder> Encodable<E> for LE<f32>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<f64>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<i8>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<i16>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<i32>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<i64>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<i128>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<u8>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<u16>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<u32>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<u64>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<u128>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<i8>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<i16>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<i32>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<i64>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<i128>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<u8>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<u16>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<u32>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<u64>>

Source§

impl<E: ByteEncoder> Encodable<E> for LE<NonZero<u128>>

Source§

impl<Encodable, Encoder, DstError> Encodable<Encoder> for FromError<Encodable, DstError>
where DstError: From<Encodable::Error> + From<Encoder::Error>, Encodable: Encodable<Encoder>, Encoder: BaseEncoder,

Source§

type Error = DstError

Source§

impl<Encodable, Encoder, F> Encodable<Encoder> for Cond<Encodable, F>
where Encodable: Encodable<Encoder>, Encoder: BaseEncoder, F: Fn(&Encodable) -> bool,

Source§

type Error = <Encodable as Encodable<Encoder>>::Error

Source§

impl<Encodable, Length, Encoder, Error> Encodable<Encoder> for LengthPrefix<Encodable, Length, Error>
where Encoder: BaseEncoder, Encodable: Encodable<Encoder> + EncodableSize, Length: Encodable<Encoder> + TryFrom<usize>, Error: From<<Length as Encodable<Encoder>>::Error> + From<<Length as TryFrom<usize>>::Error> + From<<Encodable as Encodable<Encoder>>::Error> + From<<Encodable as Encodable<SizeEncoder>>::Error> + From<Encoder::Error>,

Source§

type Error = Error

Source§

impl<EncodableIter, Encoder> Encodable<Encoder> for Iter<EncodableIter>
where EncodableIter: IntoIterator + Clone, EncodableIter::Item: Encodable<Encoder>, Encoder: BaseEncoder,

Source§

type Error = <<EncodableIter as IntoIterator>::Item as Encodable<Encoder>>::Error

Source§

impl<EncodableIter, Separator, Encoder> Encodable<Encoder> for Separated<EncodableIter, Separator>
where EncodableIter: IntoIterator + Clone, EncodableIter::Item: Encodable<Encoder, Error = Separator::Error>, Separator: Encodable<Encoder>, Encoder: BaseEncoder,

Source§

type Error = <Separator as Encodable<Encoder>>::Error