pub struct BitRange {
    pub msb_index: u32,
    pub lsb_index: u32,
}
Expand description

Structure representing a range of bits in a number.

Example

#[macro_use]
use dbs_arch::cpuid::bit_helper::*;

let range = BitRange {
    msb_index: 7,
    lsb_index: 3,
};

The BitRange specified above will represent the following part of the number 72: +———————————––+—+—+—+—+—+—+—+—+—+—+ | Base 2 Representation of the number | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | +———————————––+—+—+—+—+—+—+—+—+—+—+ | bits indexes | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | +———————————––+—+—+—+—+—+—+—+—+—+—+ | BitRange | | | * | * | * | * | * | | | | +———————————––+—+—+—+—+—+—+—+—+—+—+

Fields

msb_index: u32

most significant bit index

lsb_index: u32

least significant bit index

Trait Implementations

Returns a value of type T that has all the bits in the specified bit range set to 1. Read more
Checks if the current BitRange is valid for type T.
Asserts if self.is_valid() returns true.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.