pub trait BitBlock<const L: usize>:
Not<Output = Self>
+ BitAnd<Output = Self>
+ BitOr<Output = Self>
+ BitXor<Output = Self>
+ Add<Output = Self>
+ Sub<Output = Self>
+ Eq
+ Sized
+ Copy
+ Clone
+ Debug
+ From<Self::Element>
+ From<[Self::Element; L]> {
type Element: BitBlockElement;
const BIT_WIDTH: usize;
const ELEMENT_BIT_WIDTH: usize;
const LANES: usize;
const ZERO_ELEMENT: Self::Element;
const ONE_ELEMENT: Self::Element;
const MAX_ELEMENT: Self::Element;
const ZERO: Self;
const MAX: Self;
// Required methods
fn to_array(self) -> [Self::Element; L];
fn and_inplace(&mut self, rhs: &Self);
fn or_inplace(&mut self, rhs: &Self);
fn xor_inplace(&mut self, rhs: &Self);
}Required Associated Constants§
const BIT_WIDTH: usize
const ELEMENT_BIT_WIDTH: usize
const LANES: usize
const ZERO_ELEMENT: Self::Element
const ONE_ELEMENT: Self::Element
const MAX_ELEMENT: Self::Element
const ZERO: Self
const MAX: Self
Required Associated Types§
type Element: BitBlockElement
Required Methods§
fn to_array(self) -> [Self::Element; L]
fn and_inplace(&mut self, rhs: &Self)
fn or_inplace(&mut self, rhs: &Self)
fn xor_inplace(&mut self, rhs: &Self)
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.