Trait Decoder

Source
pub trait Decoder<T>: 'static {
    type Error;
    type Encoded: ?Sized;

    // Required method
    fn decode(val: &Self::Encoded) -> Result<T, Self::Error>;
}
Expand description

Trait every decoder must implement.

Required Associated Types§

Required Methods§

Source

fn decode(val: &Self::Encoded) -> Result<T, Self::Error>

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.

Implementors§

Source§

impl Decoder<bool> for FromToBytesCodec

Source§

impl Decoder<f32> for FromToBytesCodec

Source§

impl Decoder<f64> for FromToBytesCodec

Source§

impl Decoder<i8> for FromToBytesCodec

Source§

impl Decoder<i16> for FromToBytesCodec

Source§

impl Decoder<i32> for FromToBytesCodec

Source§

impl Decoder<i64> for FromToBytesCodec

Source§

impl Decoder<i128> for FromToBytesCodec

Source§

impl Decoder<isize> for FromToBytesCodec

Source§

impl Decoder<u8> for FromToBytesCodec

Source§

impl Decoder<u16> for FromToBytesCodec

Source§

impl Decoder<u32> for FromToBytesCodec

Source§

impl Decoder<u64> for FromToBytesCodec

Source§

impl Decoder<u128> for FromToBytesCodec

Source§

impl Decoder<usize> for FromToBytesCodec

Source§

impl Decoder<String> for FromToBytesCodec

Source§

impl<T> Decoder<T> for RkyvCodec
where T: Archive, for<'a> T::Archived: 'a + CheckBytes<HighValidator<'a, Error>> + Deserialize<T, Strategy<Pool, Error>>,

Source§

impl<T> Decoder<T> for JsonSerdeCodec
where for<'de> T: Deserialize<'de>,

Source§

impl<T> Decoder<T> for JsonSerdeWasmCodec
where for<'de> T: Deserialize<'de>,

Source§

impl<T, D> Decoder<Option<T>> for OptionCodec<D>
where D: Decoder<T, Encoded = str>,

Source§

impl<T, D> Decoder<T> for Base64<D>
where D: Decoder<T, Encoded = [u8]>,

Source§

impl<T, D> Decoder<T> for SerdeLite<D>

Source§

impl<T: FromStr> Decoder<T> for FromToStringCodec

Source§

impl<T: Deserialize> Decoder<T> for MiniserdeCodec

Source§

impl<T: Message + Default> Decoder<T> for ProstCodec

Source§

impl<T: DeserializeOwned> Decoder<T> for BincodeSerdeCodec

Source§

impl<T: DeserializeOwned> Decoder<T> for MsgpackSerdeCodec

Source§

impl<T: for<'a> BorrowDecode<'a, ()>> Decoder<T> for BincodeCodec