pub trait BitVecMutOps: BitVecOps {
Show 26 methods
// Required method
fn words_mut(&mut self) -> &mut [Word] ⓘ;
// Provided methods
fn add_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps) { ... }
fn sub_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps) { ... }
fn shift_left_in_place(
&mut self,
lhs: &impl BitVecOps,
rhs: &impl BitVecOps,
) { ... }
fn shift_right_in_place(
&mut self,
lhs: &impl BitVecOps,
rhs: &impl BitVecOps,
) { ... }
fn arithmetic_shift_right_in_place(
&mut self,
lhs: &impl BitVecOps,
rhs: &impl BitVecOps,
) { ... }
fn mul_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps) { ... }
fn and_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps) { ... }
fn or_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps) { ... }
fn xor_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps) { ... }
fn concat_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps) { ... }
fn slice_in_place(
&mut self,
src: &impl BitVecOps,
msb: WidthInt,
lsb: WidthInt,
) { ... }
fn not_in_place(&mut self) { ... }
fn negate_in_place(&mut self) { ... }
fn sign_extend_in_place(&mut self, src: &impl BitVecOps, by: WidthInt) { ... }
fn zero_extend_in_place(&mut self, src: &impl BitVecOps, by: WidthInt) { ... }
fn assign<'a>(&mut self, value: impl Into<BitVecValueRef<'a>>) { ... }
fn mask_msb(&mut self) { ... }
fn clear(&mut self) { ... }
fn assign_ones(&mut self) { ... }
fn assign_from_u64(&mut self, value: u64) { ... }
fn assign_from_u128(&mut self, value: u128) { ... }
fn assign_from_i64(&mut self, value: i64) { ... }
fn assign_from_str_radix(
&mut self,
value: &str,
radix: u32,
) -> Result<(), ParseIntError> { ... }
fn set_bit(&mut self, pos: WidthInt) { ... }
fn clear_bit(&mut self, pos: WidthInt) { ... }
}Expand description
Operations over mutable bit-vector values.
Required Methods§
Provided Methods§
fn add_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn sub_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn shift_left_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn shift_right_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn arithmetic_shift_right_in_place( &mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps, )
fn mul_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn and_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn or_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn xor_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn concat_in_place(&mut self, lhs: &impl BitVecOps, rhs: &impl BitVecOps)
fn slice_in_place(&mut self, src: &impl BitVecOps, msb: WidthInt, lsb: WidthInt)
fn not_in_place(&mut self)
fn negate_in_place(&mut self)
fn sign_extend_in_place(&mut self, src: &impl BitVecOps, by: WidthInt)
fn zero_extend_in_place(&mut self, src: &impl BitVecOps, by: WidthInt)
fn assign<'a>(&mut self, value: impl Into<BitVecValueRef<'a>>)
Sourcefn mask_msb(&mut self)
fn mask_msb(&mut self)
ensures that all unused bits in the most significant word are set to zero
Sourcefn assign_ones(&mut self)
fn assign_ones(&mut self)
sets all bits to one
fn assign_from_u64(&mut self, value: u64)
fn assign_from_u128(&mut self, value: u128)
fn assign_from_i64(&mut self, value: i64)
fn assign_from_str_radix( &mut self, value: &str, radix: u32, ) -> Result<(), ParseIntError>
fn set_bit(&mut self, pos: WidthInt)
fn clear_bit(&mut self, pos: WidthInt)
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.