#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(debug_assertions, warn(missing_docs))]
#![cfg_attr(not(debug_assertions), deny(missing_docs))]
#![deny(unconditional_recursion)]
#[cfg(feature = "alloc")]
extern crate alloc;
#[cfg(feature = "std")]
extern crate core;
#[cfg(feature = "serde")]
extern crate serde;
#[cfg(all(test, feature = "serde"))]
extern crate serde_test;
#[macro_use]
pub mod macros;
mod access;
mod domain;
pub mod indices;
pub mod fields;
pub mod order;
mod pointer;
pub mod prelude;
pub mod slice;
pub mod store;
#[cfg(feature = "alloc")]
pub mod boxed;
#[cfg(feature = "alloc")]
pub mod vec;
#[cfg(feature = "serde")]
mod serdes;
#[inline]
fn rca1(a: bool, b: bool, c: bool) -> (bool, bool) {
let yz = a as u8 + b as u8 + c as u8;
(yz & 0b01 != 0, yz & 0b10 != 0)
}
#[deprecated(
since = "0.17.0",
note = "This module was renamed to `order`, and will be removed in the next release."
)]
pub mod cursor {
#[deprecated(
since = "0.17.0",
note = "This type was renamed to `order::Msb0`, and will be removed in the next release."
)]
pub type BigEndian = crate::order::Msb0;
#[deprecated(
since = "0.17.0",
note = "This type was renamed to `order::Lsb0`, and will be removed in the next release."
)]
pub type LittleEndian = crate::order::Lsb0;
#[deprecated(
since = "0.17.0",
note = "This trait was renaved to `order::BitOrder`, and will be removed in the next release."
)]
#[allow(bare_trait_objects)]
pub type Cursor = crate::order::BitOrder;
}