Trait bitcode::Decode

source ·
pub trait Decode: Sized { }
Expand description

A type which can be decoded from bytes with decode.

Must use #[derive(Decode)] to implement.

#[derive(bitcode::Decode)]
// If your struct contains itself you must annotate it with `#[bitcode(recursive)]`.
// This disables certain speed optimizations that aren't possible on recursive types.
struct MyStruct {
    a: u32,
    b: bool,
    // If you want to use serde::Deserialize on a field instead of bitcode::Decode.
    #[cfg(feature = "serde")]
    #[bitcode(with_serde)]
    c: String,
}

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Decode for IpAddr

source§

impl Decode for SocketAddr

source§

impl Decode for bool

source§

impl Decode for char

source§

impl Decode for f32

source§

impl Decode for f64

source§

impl Decode for i8

source§

impl Decode for i16

source§

impl Decode for i32

source§

impl Decode for i64

source§

impl Decode for i128

source§

impl Decode for isize

source§

impl Decode for u8

source§

impl Decode for u16

source§

impl Decode for u32

source§

impl Decode for u64

source§

impl Decode for u128

source§

impl Decode for ()

source§

impl Decode for usize

source§

impl Decode for Box<str>

source§

impl Decode for CString

source§

impl Decode for Rc<str>

source§

impl Decode for String

source§

impl Decode for Arc<str>

source§

impl Decode for Ipv4Addr

source§

impl Decode for Ipv6Addr

source§

impl Decode for SocketAddrV4

source§

impl Decode for SocketAddrV6

source§

impl Decode for Duration

source§

impl Decode for NonZeroI8

source§

impl Decode for NonZeroI16

source§

impl Decode for NonZeroI32

source§

impl Decode for NonZeroI64

source§

impl Decode for NonZeroIsize

source§

impl Decode for NonZeroU8

source§

impl Decode for NonZeroU16

source§

impl Decode for NonZeroU32

source§

impl Decode for NonZeroU64

source§

impl Decode for NonZeroUsize

source§

impl<K: Decode + Ord, V: Decode> Decode for BTreeMap<K, V>

source§

impl<K: Decode + Hash + Eq, V: Decode, S: BuildHasher + Default> Decode for HashMap<K, V, S>

source§

impl<T0> Decode for (T0,)
where T0: Decode,

source§

impl<T0, T1> Decode for (T0, T1)
where T0: Decode, T1: Decode,

source§

impl<T0, T1, T2> Decode for (T0, T1, T2)
where T0: Decode, T1: Decode, T2: Decode,

source§

impl<T0, T1, T2, T3> Decode for (T0, T1, T2, T3)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode,

source§

impl<T0, T1, T2, T3, T4> Decode for (T0, T1, T2, T3, T4)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode,

source§

impl<T0, T1, T2, T3, T4, T5> Decode for (T0, T1, T2, T3, T4, T5)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6> Decode for (T0, T1, T2, T3, T4, T5, T6)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Decode for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode, T9: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode, T9: Decode, T10: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode, T9: Decode, T10: Decode, T11: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode, T9: Decode, T10: Decode, T11: Decode, T12: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode, T9: Decode, T10: Decode, T11: Decode, T12: Decode, T13: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode, T9: Decode, T10: Decode, T11: Decode, T12: Decode, T13: Decode, T14: Decode,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T0: Decode, T1: Decode, T2: Decode, T3: Decode, T4: Decode, T5: Decode, T6: Decode, T7: Decode, T8: Decode, T9: Decode, T10: Decode, T11: Decode, T12: Decode, T13: Decode, T14: Decode, T15: Decode,

source§

impl<T> Decode for PhantomData<T>

source§

impl<T: Decode + Ord> Decode for BinaryHeap<T>

source§

impl<T: Decode + Ord> Decode for BTreeSet<T>

source§

impl<T: Decode + Hash + Eq, S: BuildHasher + Default> Decode for HashSet<T, S>

source§

impl<T: Decode> Decode for Option<T>

source§

impl<T: Decode> Decode for Box<[T]>

source§

impl<T: Decode> Decode for Box<T>

source§

impl<T: Decode> Decode for LinkedList<T>

source§

impl<T: Decode> Decode for VecDeque<T>

source§

impl<T: Decode> Decode for Rc<[T]>

source§

impl<T: Decode> Decode for Rc<T>

source§

impl<T: Decode> Decode for Arc<[T]>

source§

impl<T: Decode> Decode for Arc<T>

source§

impl<T: Decode> Decode for Vec<T>

source§

impl<T: Decode> Decode for Reverse<T>

source§

impl<T: Decode> Decode for Wrapping<T>

source§

impl<T: Decode, E: Decode> Decode for Result<T, E>

source§

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

Implementors§