Trait BitMask

Source
pub trait BitMask: BitSize {
    // Required methods
    fn mask(size: usize) -> Self;
    fn mask_to(&self, size: usize) -> Self;
}
Expand description

Provides bit mask calculation and masking on values.

This trait defines type methods for generating a bit mask of a specified length and value methods for masking to a specified bit length.

§Examples

use quark::BitMask;

let nibble_mask = u32::mask(4);
assert_eq!(nibble_mask, 0xf);

let value: u32 = 0x1234_5678;
assert_eq!(value.mask_to(12), 0x678);

Required Methods§

Source

fn mask(size: usize) -> Self

Returns a mask with the requested number of bits set.

Source

fn mask_to(&self, size: usize) -> Self

Masks the value to the requested number of bits.

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 BitMask for i8

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for i16

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for i32

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for i64

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for i128

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for isize

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for u8

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for u16

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for u32

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for u64

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for u128

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Source§

impl BitMask for usize

Source§

fn mask(size: usize) -> Self

Source§

fn mask_to(&self, size: usize) -> Self

Implementors§