Trait input_linux::bitmask::BitmaskTrait [−][src]
pub trait BitmaskTrait { type Array: Sized; type Index: Copy + IterableEnum; const ZERO: Self::Array; fn array_default() -> Self::Array; fn array_slice(array: &Self::Array) -> &[u8]; fn array_slice_mut(array: &mut Self::Array) -> &mut [u8]; fn index(index: Self::Index) -> usize; fn index_valid(_array: &Self::Array, _index: Self::Index) -> bool { ... } }
Expand description
A generic trait that can be used to index by a given type into a set of bits.
Associated Types
type Index: Copy + IterableEnum
type Index: Copy + IterableEnum
The type that the bitmask can be indexed by.
Associated Constants
Required methods
fn array_default() -> Self::Array
fn array_default() -> Self::Array
The default empty state of the bitmask.
A representation of the bitmask as a slice of bytes.
A mutable representation of the bitmask as a slice of bytes.
Provided methods
fn index_valid(_array: &Self::Array, _index: Self::Index) -> bool
fn index_valid(_array: &Self::Array, _index: Self::Index) -> bool
Validates whether a given index is valid and in range for the bitmask.
Dynamically allocated bitmasks may not be large enough to contain all indices.