pub trait Decode<R: Read>: Sized {
// Required method
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>;
}Expand description
A binary data structure specification which can be decoded from its binary representation.
Implementations that need to seek should implement for R: Read + Seek,
while those that need to borrow should implement for R: BorrowRead<'data>.
If you need both, use R: BorrowRead<'data> + Seek
You should keep your implementation as general as possible and avoid
implementing for a R = ConcreteType if possible
§Note about lifetimes
An implementation of this trait where your type uses the same lifetime as the decoder
(the 'data lifetime) will greatly limit the possible usages of the implementation.
Instead, prefer giving your type a different lifetime and make the 'data lifetime depend on it.
§Correct:
impl<'data: 'a + 'b + ..., 'a, 'b, ...> Decode<BorrowRead<'data>> for Thing<'a, 'b, ...> { ... }§Misleading:
impl<'data> Decode<BorrowRead<'data>> for Thing<'data, 'data, ...> { ... }Required Methods§
Sourcefn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Decodes Self from its binary format.
Calling decode multiple times without changing the
encoder settings or the underlying binary data in-between calls should produce
the same output.
If the result is Ok, implementations should guarantee that the state of the encoder is preserved. If the result is Err, no guarantees are made about the state of the encoder, and users should reset it before reuse.
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<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a str
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a str
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a CStr
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a CStr
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a OsStr
Available on crate feature std only.
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a OsStr
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a Path
Available on crate feature std only.
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a Path
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [f32]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [f32]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [f64]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [f64]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i8]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i8]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i16]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i16]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i32]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i32]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i64]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i64]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i128]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [i128]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [isize]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [isize]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u8]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u8]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u16]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u16]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u32]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u32]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u64]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u64]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u128]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [u128]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [usize]
impl<'data: 'a, 'a, R: BorrowRead<'data>> Decode<R> for &'a [usize]
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<'data: 'a, 'a, R: BorrowRead<'data>, T: ?Sized + ToOwned> Decode<R> for Cow<'a, T>
Available on crate feature alloc only.
impl<'data: 'a, 'a, R: BorrowRead<'data>, T: ?Sized + ToOwned> Decode<R> for Cow<'a, T>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for IpAddr
Available on crate feature std only.
impl<R: Read> Decode<R> for IpAddr
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for SocketAddr
Available on crate feature std only.
impl<R: Read> Decode<R> for SocketAddr
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for !
Available on crate feature unstable only.
impl<R: Read> Decode<R> for !
unstable only.fn decode(_decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for ()
impl<R: Read> Decode<R> for ()
fn decode(_decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for Box<str>
Available on crate feature alloc only.
impl<R: Read> Decode<R> for Box<str>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for Box<CStr>
Available on crate feature alloc only.
impl<R: Read> Decode<R> for Box<CStr>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for Box<OsStr>
Available on crate feature std only.
impl<R: Read> Decode<R> for Box<OsStr>
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for Box<Path>
Available on crate feature std only.
impl<R: Read> Decode<R> for Box<Path>
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for CString
Available on crate feature alloc only.
impl<R: Read> Decode<R> for CString
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for String
Available on crate feature alloc only.
impl<R: Read> Decode<R> for String
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for Ipv4Addr
Available on crate feature std only.
impl<R: Read> Decode<R> for Ipv4Addr
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for Ipv6Addr
Available on crate feature std only.
impl<R: Read> Decode<R> for Ipv6Addr
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for SocketAddrV4
Available on crate feature std only.
impl<R: Read> Decode<R> for SocketAddrV4
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for SocketAddrV6
Available on crate feature std only.
impl<R: Read> Decode<R> for SocketAddrV6
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for RangeFull
impl<R: Read> Decode<R> for RangeFull
fn decode(_decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for Duration
impl<R: Read> Decode<R> for Duration
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for OsString
Available on crate feature std only.
impl<R: Read> Decode<R> for OsString
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for PathBuf
Available on crate feature std only.
impl<R: Read> Decode<R> for PathBuf
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for SystemTime
Available on crate feature std only.
impl<R: Read> Decode<R> for SystemTime
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroI8
impl<R: Read> Decode<R> for NonZeroI8
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroI16
impl<R: Read> Decode<R> for NonZeroI16
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroI32
impl<R: Read> Decode<R> for NonZeroI32
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroI64
impl<R: Read> Decode<R> for NonZeroI64
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroI128
impl<R: Read> Decode<R> for NonZeroI128
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroIsize
impl<R: Read> Decode<R> for NonZeroIsize
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroU8
impl<R: Read> Decode<R> for NonZeroU8
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroU16
impl<R: Read> Decode<R> for NonZeroU16
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroU32
impl<R: Read> Decode<R> for NonZeroU32
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroU64
impl<R: Read> Decode<R> for NonZeroU64
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroU128
impl<R: Read> Decode<R> for NonZeroU128
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read> Decode<R> for NonZeroUsize
impl<R: Read> Decode<R> for NonZeroUsize
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>> Decode<R> for (A, B)
impl<R: Read, A: Decode<R>, B: Decode<R>> Decode<R> for (A, B)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>> Decode<R> for (A, B, C)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>> Decode<R> for (A, B, C)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>> Decode<R> for (A, B, C, D)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>> Decode<R> for (A, B, C, D)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>> Decode<R> for (A, B, C, D, E)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>> Decode<R> for (A, B, C, D, E)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>> Decode<R> for (A, B, C, D, E, F)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>> Decode<R> for (A, B, C, D, E, F)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>> Decode<R> for (A, B, C, D, E, F, G)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>> Decode<R> for (A, B, C, D, E, F, G)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>, N: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>, N: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>, N: Decode<R>, O: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>, N: Decode<R>, O: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>, N: Decode<R>, O: Decode<R>, P: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
impl<R: Read, A: Decode<R>, B: Decode<R>, C: Decode<R>, D: Decode<R>, E: Decode<R>, F: Decode<R>, G: Decode<R>, H: Decode<R>, I: Decode<R>, J: Decode<R>, K: Decode<R>, L: Decode<R>, M: Decode<R>, N: Decode<R>, O: Decode<R>, P: Decode<R>> Decode<R> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, K: Ord + Decode<R>> Decode<R> for BTreeSet<K>
Available on crate feature alloc only.
impl<R: Read, K: Ord + Decode<R>> Decode<R> for BTreeSet<K>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, K: Ord + Decode<R>, V: Decode<R>> Decode<R> for BTreeMap<K, V>
Available on crate feature alloc only.
impl<R: Read, K: Ord + Decode<R>, V: Decode<R>> Decode<R> for BTreeMap<K, V>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, K: Hash + Eq + Decode<R>> Decode<R> for HashSet<K>
Available on crate feature std only.
impl<R: Read, K: Hash + Eq + Decode<R>> Decode<R> for HashSet<K>
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, K: Hash + Eq + Decode<R>, V: Decode<R>> Decode<R> for HashMap<K, V>
Available on crate feature std only.
impl<R: Read, K: Hash + Eq + Decode<R>, V: Decode<R>> Decode<R> for HashMap<K, V>
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Ord + Decode<R>> Decode<R> for BinaryHeap<T>
Available on crate feature alloc only.
impl<R: Read, T: Ord + Decode<R>> Decode<R> for BinaryHeap<T>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Copy + Decode<R>> Decode<R> for Cell<T>
impl<R: Read, T: Copy + Decode<R>> Decode<R> for Cell<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Bound<T>
impl<R: Read, T: Decode<R>> Decode<R> for Bound<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Option<T>
impl<R: Read, T: Decode<R>> Decode<R> for Option<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Box<[T]>
Available on crate feature alloc only.
impl<R: Read, T: Decode<R>> Decode<R> for Box<[T]>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Box<T>
Available on crate feature alloc only.
impl<R: Read, T: Decode<R>> Decode<R> for Box<T>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for LinkedList<T>
Available on crate feature alloc only.
impl<R: Read, T: Decode<R>> Decode<R> for LinkedList<T>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for VecDeque<T>
Available on crate feature alloc only.
impl<R: Read, T: Decode<R>> Decode<R> for VecDeque<T>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Rc<T>
Available on crate feature alloc only.
impl<R: Read, T: Decode<R>> Decode<R> for Rc<T>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Arc<T>
Available on crate features alloc and sync only.
impl<R: Read, T: Decode<R>> Decode<R> for Arc<T>
alloc and sync only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Vec<T>
Available on crate feature alloc only.
impl<R: Read, T: Decode<R>> Decode<R> for Vec<T>
alloc only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for RefCell<T>
impl<R: Read, T: Decode<R>> Decode<R> for RefCell<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Range<T>
impl<R: Read, T: Decode<R>> Decode<R> for Range<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for RangeFrom<T>
impl<R: Read, T: Decode<R>> Decode<R> for RangeFrom<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for RangeInclusive<T>
impl<R: Read, T: Decode<R>> Decode<R> for RangeInclusive<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for RangeTo<T>
impl<R: Read, T: Decode<R>> Decode<R> for RangeTo<T>
fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for Mutex<T>
Available on crate feature std only.
impl<R: Read, T: Decode<R>> Decode<R> for Mutex<T>
std only.fn decode(decoder: &mut Encoder<'_, R>) -> EncodingResult<Self>
Source§impl<R: Read, T: Decode<R>> Decode<R> for RwLock<T>
Available on crate feature std only.
impl<R: Read, T: Decode<R>> Decode<R> for RwLock<T>
std only.