pub trait BitDecode<Ctx = (), Tag = ()>: Sized {
// Required method
fn decode<R, E>(read: &mut R, ctx: &mut Ctx, tag: Tag) -> Result<Self>
where R: BitRead,
E: Endianness;
}
Expand description
A trait for bit-level decoding.
Required Methods§
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<Ctx> BitDecode<Ctx> for PhantomPinned
impl<Ctx> BitDecode<Ctx> for PhantomPinned
Source§impl<Ctx> BitDecode<Ctx> for NonZeroI16
impl<Ctx> BitDecode<Ctx> for NonZeroI16
Source§impl<Ctx> BitDecode<Ctx> for NonZeroI32
impl<Ctx> BitDecode<Ctx> for NonZeroI32
Source§impl<Ctx> BitDecode<Ctx> for NonZeroI64
impl<Ctx> BitDecode<Ctx> for NonZeroI64
Source§impl<Ctx> BitDecode<Ctx> for NonZeroI128
impl<Ctx> BitDecode<Ctx> for NonZeroI128
Source§impl<Ctx> BitDecode<Ctx> for NonZeroIsize
impl<Ctx> BitDecode<Ctx> for NonZeroIsize
Source§impl<Ctx> BitDecode<Ctx> for NonZeroU16
impl<Ctx> BitDecode<Ctx> for NonZeroU16
Source§impl<Ctx> BitDecode<Ctx> for NonZeroU32
impl<Ctx> BitDecode<Ctx> for NonZeroU32
Source§impl<Ctx> BitDecode<Ctx> for NonZeroU64
impl<Ctx> BitDecode<Ctx> for NonZeroU64
Source§impl<Ctx> BitDecode<Ctx> for NonZeroU128
impl<Ctx> BitDecode<Ctx> for NonZeroU128
Source§impl<Ctx> BitDecode<Ctx> for NonZeroUsize
impl<Ctx> BitDecode<Ctx> for NonZeroUsize
Source§impl<Ctx, K, V> BitDecode<Ctx, Untagged> for BTreeMap<K, V>
Available on crate feature alloc
only.
impl<Ctx, K, V> BitDecode<Ctx, Untagged> for BTreeMap<K, V>
Available on crate feature
alloc
only.Source§impl<Ctx, K, V, H> BitDecode<Ctx, Untagged> for HashMap<K, V, H>
Available on crate feature std
only.
impl<Ctx, K, V, H> BitDecode<Ctx, Untagged> for HashMap<K, V, H>
Available on crate feature
std
only.Source§impl<Ctx, T> BitDecode<Ctx> for PhantomData<T>
impl<Ctx, T> BitDecode<Ctx> for PhantomData<T>
Source§impl<Ctx, T> BitDecode<Ctx, Untagged> for Box<[T]>where
T: BitDecode<Ctx>,
Available on crate feature alloc
only.
impl<Ctx, T> BitDecode<Ctx, Untagged> for Box<[T]>where
T: BitDecode<Ctx>,
Available on crate feature
alloc
only.Source§impl<Ctx, T> BitDecode<Ctx, Untagged> for BinaryHeap<T>
Available on crate feature alloc
only.
impl<Ctx, T> BitDecode<Ctx, Untagged> for BinaryHeap<T>
Available on crate feature
alloc
only.Source§impl<Ctx, T> BitDecode<Ctx, Untagged> for LinkedList<T>where
T: BitDecode<Ctx>,
Available on crate feature alloc
only.
impl<Ctx, T> BitDecode<Ctx, Untagged> for LinkedList<T>where
T: BitDecode<Ctx>,
Available on crate feature
alloc
only.Source§impl<Ctx, T> BitDecode<Ctx, Untagged> for VecDeque<T>where
T: BitDecode<Ctx>,
Available on crate feature alloc
only.
impl<Ctx, T> BitDecode<Ctx, Untagged> for VecDeque<T>where
T: BitDecode<Ctx>,
Available on crate feature
alloc
only.Source§impl<Ctx, T> BitDecode<Ctx, Untagged> for Vec<T>where
T: BitDecode<Ctx>,
Available on crate feature alloc
only.
impl<Ctx, T> BitDecode<Ctx, Untagged> for Vec<T>where
T: BitDecode<Ctx>,
Available on crate feature
alloc
only.Source§impl<Ctx, T, H> BitDecode<Ctx, Untagged> for HashSet<T, H>
Available on crate feature std
only.
impl<Ctx, T, H> BitDecode<Ctx, Untagged> for HashSet<T, H>
Available on crate feature
std
only.Source§impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for (T₁, T₂, …, Tₙ)where
T: BitDecode<Ctx, Tag>,
This trait is implemented for tuples with up to 16 items.
impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for (T₁, T₂, …, Tₙ)where
T: BitDecode<Ctx, Tag>,
This trait is implemented for tuples with up to 16 items.
Source§impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Box<T>where
T: BitDecode<Ctx, Tag>,
Available on crate feature alloc
only.
impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Box<T>where
T: BitDecode<Ctx, Tag>,
Available on crate feature
alloc
only.Source§impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Rc<T>where
T: BitDecode<Ctx, Tag>,
Available on crate feature alloc
only.
impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Rc<T>where
T: BitDecode<Ctx, Tag>,
Available on crate feature
alloc
only.Source§impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Arc<T>where
T: BitDecode<Ctx, Tag>,
Available on crate feature alloc
only.
impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Arc<T>where
T: BitDecode<Ctx, Tag>,
Available on crate feature
alloc
only.Source§impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Saturating<T>where
T: BitDecode<Ctx, Tag>,
impl<Ctx, Tag, T> BitDecode<Ctx, Tag> for Saturating<T>where
T: BitDecode<Ctx, Tag>,
Source§impl<Tag, Ctx, K, V> BitDecode<Ctx, Tag<Tag>> for BTreeMap<K, V>
Available on crate feature alloc
only.
impl<Tag, Ctx, K, V> BitDecode<Ctx, Tag<Tag>> for BTreeMap<K, V>
Available on crate feature
alloc
only.Source§impl<Tag, Ctx, K, V, H> BitDecode<Ctx, Tag<Tag>> for HashMap<K, V, H>
Available on crate feature std
only.
impl<Tag, Ctx, K, V, H> BitDecode<Ctx, Tag<Tag>> for HashMap<K, V, H>
Available on crate feature
std
only.Source§impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for Box<[T]>
Available on crate feature alloc
only.
impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for Box<[T]>
Available on crate feature
alloc
only.Source§impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for BinaryHeap<T>
Available on crate feature alloc
only.
impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for BinaryHeap<T>
Available on crate feature
alloc
only.Source§impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for BTreeSet<T>
Available on crate feature alloc
only.
impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for BTreeSet<T>
Available on crate feature
alloc
only.Source§impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for LinkedList<T>
Available on crate feature alloc
only.
impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for LinkedList<T>
Available on crate feature
alloc
only.Source§impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for VecDeque<T>
Available on crate feature alloc
only.
impl<Tag, Ctx, T> BitDecode<Ctx, Tag<Tag>> for VecDeque<T>
Available on crate feature
alloc
only.Source§impl<Tag, Ctx, T, H> BitDecode<Ctx, Tag<Tag>> for HashSet<T, H>
Available on crate feature std
only.
impl<Tag, Ctx, T, H> BitDecode<Ctx, Tag<Tag>> for HashSet<T, H>
Available on crate feature
std
only.