Skip to main content

BitFieldExt

Trait BitFieldExt 

Source
pub trait BitFieldExt {
    // Required methods
    fn store<Field>(&mut self, field: Field) -> Result<(), Error>
       where Field: BitField + Into<u8>;
    fn get_as<Field>(&self) -> Result<Field, Error>
       where Field: BitField + TryFrom<u8>;
    fn check_field<Field>(&self) -> Result<(), Error>
       where Field: BitField;
}
Expand description

Helpers for storing fields in primitives.

Required Methods§

Source

fn store<Field>(&mut self, field: Field) -> Result<(), Error>
where Field: BitField + Into<u8>,

Store the field at its position in this primitive.

Source

fn get_as<Field>(&self) -> Result<Field, Error>
where Field: BitField + TryFrom<u8>,

Get the field from the position in this primitive.

Source

fn check_field<Field>(&self) -> Result<(), Error>
where Field: BitField,

Check if the field would overflow if it were added to this primitive and return an Err variant if so.

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 BitFieldExt for [u8]

Source§

fn store<Field>(&mut self, field: Field) -> Result<(), Error>
where Field: BitField + Into<u8>,

Source§

fn get_as<Field>(&self) -> Result<Field, Error>
where Field: BitField + TryFrom<u8>,

Source§

fn check_field<Field>(&self) -> Result<(), Error>
where Field: BitField,

Implementors§