Trait nbits_vec::value::Value
[−]
[src]
pub trait Value { type Block: PrimInt + One + Zero + LowerHex + Hash; fn nbits() -> usize; fn one() -> Self::Block { ... } fn zero() -> Self::Block { ... } fn mask() -> Self::Block { ... } fn block_bits() -> usize { ... } fn is_aligned() -> bool { ... } fn is_packed() -> bool { ... } }
Associated Types
type Block: PrimInt + One + Zero + LowerHex + Hash
The storage type of Value
s.
The Block
should be one of the primitive integer ie. u8
, u16
u32
, u64
.
Recommend that not to use usize
because it is platform dependent.
Required Methods
Provided Methods
fn one() -> Self::Block
Return 1
fn zero() -> Self::Block
Return 0
fn mask() -> Self::Block
The value's bit mask in the Block
.
For example, 2-bit value mask is 0b11, 3-bit mask is 0b111.
fn block_bits() -> usize
Bit-size of Block
.
fn is_aligned() -> bool
Value is aligned
when block_bits
is divisible by nbits
.
fn is_packed() -> bool
Value is packed
when block_bits
is equal to nbits
.
Implementors
impl Value for N1B8
impl Value for N1B16
impl Value for N1B32
impl Value for N1B64
impl Value for N2B8
impl Value for N2B16
impl Value for N2B32
impl Value for N2B64
impl Value for N3B8
impl Value for N3B16
impl Value for N3B32
impl Value for N3B64
impl Value for N4B8
impl Value for N4B16
impl Value for N4B32
impl Value for N4B64
impl Value for N5B8
impl Value for N5B16
impl Value for N5B32
impl Value for N5B64
impl Value for N6B8
impl Value for N6B16
impl Value for N6B32
impl Value for N6B64
impl Value for N7B8
impl Value for N7B16
impl Value for N7B32
impl Value for N7B64
impl Value for N9B16
impl Value for N9B32
impl Value for N9B64
impl Value for N10B16
impl Value for N10B32
impl Value for N10B64
impl Value for N11B16
impl Value for N11B32
impl Value for N11B64
impl Value for N12B16
impl Value for N12B32
impl Value for N12B64
impl Value for N13B16
impl Value for N13B32
impl Value for N13B64
impl Value for N14B16
impl Value for N14B32
impl Value for N14B64
impl Value for N15B16
impl Value for N15B32
impl Value for N15B64
impl Value for N17B32
impl Value for N17B64
impl Value for N18B32
impl Value for N18B64
impl Value for N19B32
impl Value for N19B64
impl Value for N20B32
impl Value for N20B64
impl Value for N21B32
impl Value for N21B64
impl Value for N22B32
impl Value for N22B64
impl Value for N23B32
impl Value for N23B64
impl Value for N24B32
impl Value for N24B64
impl Value for N25B32
impl Value for N25B64
impl Value for N26B32
impl Value for N26B64
impl Value for N27B32
impl Value for N27B64
impl Value for N28B32
impl Value for N28B64
impl Value for N29B32
impl Value for N29B64
impl Value for N30B32
impl Value for N30B64
impl Value for N31B32
impl Value for N31B64
impl Value for N33B64
impl Value for N34B64
impl Value for N35B64
impl Value for N36B64
impl Value for N37B64
impl Value for N38B64
impl Value for N39B64
impl Value for N40B64
impl Value for N41B64
impl Value for N42B64
impl Value for N43B64
impl Value for N44B64
impl Value for N45B64
impl Value for N46B64
impl Value for N47B64
impl Value for N48B64
impl Value for N49B64
impl Value for N50B64
impl Value for N51B64
impl Value for N52B64
impl Value for N53B64
impl Value for N54B64
impl Value for N55B64
impl Value for N56B64
impl Value for N57B64
impl Value for N58B64
impl Value for N59B64
impl Value for N60B64
impl Value for N61B64
impl Value for N62B64
impl Value for N63B64