Struct mycelium_bitfield::pack::Packing64
source · pub struct Packing64(/* private fields */);
Expand description
Wraps a u64
to add methods for packing bit ranges specified by Pack64
.
See the module-level documentation for details on using packing specs.
Implementations§
source§impl Packing64
impl Packing64
sourcepub const fn pack_truncating(self, value: u64, packer: &Pack64) -> Self
pub const fn pack_truncating(self, value: u64, packer: &Pack64) -> Self
Pack bits from value
into self
, using the range
specified by packer
.
Any bits in value
outside the range specified by packer
are ignored.
sourcepub const fn pack_from_src(self, value: u64, pair: &Pair64) -> Self
pub const fn pack_from_src(self, value: u64, pair: &Pair64) -> Self
Pack bits from src
into self
, using the packing pair
specified by pair
, with self
serving as the “destination” member
of the pair, and src
serving as the “source” member of the
pair.
sourcepub const fn pack_from_dst(self, value: u64, pair: &Pair64) -> Self
pub const fn pack_from_dst(self, value: u64, pair: &Pair64) -> Self
Pack bits from dst
into self
, using the packing pair
specified by pair
, with self
serving as the “siyrce” member
of the pair, and dst
serving as the “destination” member of the
pair.
sourcepub fn pack<T: FromBits<u64>, F>(self, value: T, packer: &Pack64<T, F>) -> Self
pub fn pack<T: FromBits<u64>, F>(self, value: T, packer: &Pack64<T, F>) -> Self
Pack bits from value
into self
, using the range
specified by packer
.
Panics
If value
contains bits outside the range specified by packer
.
sourcepub const fn set_all<T, F>(self, packer: &Pack64<T, F>) -> Self
pub const fn set_all<T, F>(self, packer: &Pack64<T, F>) -> Self
Set all bits in the range specified by packer
to 1 in self
.
sourcepub const fn unset_all<T, F>(self, packer: &Pack64<T, F>) -> Self
pub const fn unset_all<T, F>(self, packer: &Pack64<T, F>) -> Self
Set all bits in the range specified by packer
to 0 in
self
.
sourcepub const fn contains_any<T, F>(self, packer: &Pack64<T, F>) -> bool
pub const fn contains_any<T, F>(self, packer: &Pack64<T, F>) -> bool
Returns true
if any bits specified by packer
are set
in self
.
sourcepub const fn contains_all<T, F>(self, packer: &Pack64<T, F>) -> bool
pub const fn contains_all<T, F>(self, packer: &Pack64<T, F>) -> bool
Returns true
if any bits specified by packer
are set
in self
.