#![doc = include_str!("../docs/index.md")]
#![no_std]
#![forbid(unsafe_code)]
#![warn(clippy::pedantic, missing_docs, rust_2018_idioms)]
pub mod error;
#[doc(hidden)]
pub mod private;
use self::error::{InvalidBitPattern, OutOfBounds};
#[doc = include_str!("../docs/bitfield.md")]
pub use modular_bitfield_impl::bitfield;
#[doc = include_str!("../docs/bitfield_specifier.md")]
pub use modular_bitfield_impl::Specifier;
pub mod prelude {
pub use super::{bitfield, specifiers::*, Specifier};
}
pub trait Specifier {
const BITS: usize;
type Bytes;
type InOut;
fn into_bytes(input: Self::InOut) -> Result<Self::Bytes, OutOfBounds>;
fn from_bytes(bytes: Self::Bytes) -> Result<Self::InOut, InvalidBitPattern<Self::Bytes>>;
}
pub mod specifiers {
::modular_bitfield_impl::define_specifiers!();
}