pub trait Encode<M> {
// Required method
fn encode<E>(
&self,
cx: &<E as Encoder>::Cx,
encoder: E
) -> Result<<E as Encoder>::Ok, <E as Encoder>::Error>
where E: Encoder<Mode = M>;
}
Expand description
Trait governing how types are encoded.
This is typically implemented automatically using the Encode
derive.
§Examples
use musli::Encode;
#[derive(Encode)]
struct MyType {
data: [u8; 128],
}
Implementing manually:
use musli::{Encode, Encoder};
struct MyType {
data: [u8; 128],
}
impl<M> Encode<M> for MyType {
fn encode<E>(&self, cx: &E::Cx, encoder: E) -> Result<E::Ok, E::Error>
where
E: Encoder<Mode = M>,
{
encoder.encode_array(&self.data)
}
}
Required Methods§
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl Encode<Binary> for SocketAddrV4
impl Encode<Binary> for SocketAddrV4
source§impl Encode<Binary> for SocketAddrV6
impl Encode<Binary> for SocketAddrV6
source§impl Encode<Text> for SocketAddrV4
impl Encode<Text> for SocketAddrV4
source§impl Encode<Text> for SocketAddrV6
impl Encode<Text> for SocketAddrV6
source§impl<M> Encode<M> for SocketAddr
impl<M> Encode<M> for SocketAddr
source§impl<M, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T7, T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T8, T9, T10, T11, T12, T13, T14, T15)
impl<M, T8, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T8, T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T9, T10, T11, T12, T13, T14, T15)
impl<M, T9, T10, T11, T12, T13, T14, T15> Encode<M> for (T9, T10, T11, T12, T13, T14, T15)
source§impl<M, T10, T11, T12, T13, T14, T15> Encode<M> for (T10, T11, T12, T13, T14, T15)
impl<M, T10, T11, T12, T13, T14, T15> Encode<M> for (T10, T11, T12, T13, T14, T15)
source§impl<M, T11, T12, T13, T14, T15> Encode<M> for (T11, T12, T13, T14, T15)
impl<M, T11, T12, T13, T14, T15> Encode<M> for (T11, T12, T13, T14, T15)
source§impl<M, T12, T13, T14, T15> Encode<M> for (T12, T13, T14, T15)
impl<M, T12, T13, T14, T15> Encode<M> for (T12, T13, T14, T15)
source§impl<M, T13, T14, T15> Encode<M> for (T13, T14, T15)
impl<M, T13, T14, T15> Encode<M> for (T13, T14, T15)
source§impl<M, T14, T15> Encode<M> for (T14, T15)
impl<M, T14, T15> Encode<M> for (T14, T15)
source§impl<M, T> Encode<M> for BinaryHeap<T>where
T: Encode<M>,
impl<M, T> Encode<M> for BinaryHeap<T>where
T: Encode<M>,
source§impl<M, T> Encode<M> for RangeInclusive<T>where
T: Encode<M>,
impl<M, T> Encode<M> for RangeInclusive<T>where
T: Encode<M>,
source§impl<M, T> Encode<M> for RangeToInclusive<T>where
T: Encode<M>,
impl<M, T> Encode<M> for RangeToInclusive<T>where
T: Encode<M>,
source§impl<T, M> Encode<M> for PhantomData<T>
impl<T, M> Encode<M> for PhantomData<T>
Implementors§
impl<M> Encode<M> for Value
Available on crate feature
value
only.