#![forbid(unsafe_code)]
#![cfg_attr(not(feature = "std"), no_std)]
pub trait OptionOperations {}
impl<T: OptionOperations> OptionOperations for &T {}
impl<T: OptionOperations> OptionOperations for &mut T {}
#[macro_use]
mod macros;
impl_for_all!(OptionOperations);
pub mod add;
pub use add::{
OptionAdd, OptionAddAssign, OptionCheckedAdd, OptionOverflowingAdd, OptionSaturatingAdd,
OptionWrappingAdd,
};
pub mod error;
pub use error::Error;
pub mod div;
pub use div::{
OptionCheckedDiv, OptionDiv, OptionDivAssign, OptionOverflowingDiv, OptionWrappingDiv,
};
pub mod eq;
pub use eq::OptionEq;
pub mod min_max;
pub use min_max::OptionMinMax;
pub mod mul;
pub use mul::{
OptionCheckedMul, OptionMul, OptionMulAssign, OptionOverflowingMul, OptionSaturatingMul,
OptionWrappingMul,
};
pub mod ord;
pub use ord::OptionOrd;
pub mod rem;
pub use rem::{
OptionCheckedRem, OptionOverflowingRem, OptionRem, OptionRemAssign, OptionWrappingRem,
};
pub mod sub;
pub use sub::{
OptionCheckedSub, OptionOverflowingSub, OptionSaturatingSub, OptionSub, OptionSubAssign,
OptionWrappingSub,
};
pub mod prelude {
pub use crate::add::{
OptionAdd, OptionAddAssign, OptionCheckedAdd, OptionOverflowingAdd, OptionSaturatingAdd,
OptionWrappingAdd,
};
pub use crate::div::{
OptionCheckedDiv, OptionDiv, OptionDivAssign, OptionOverflowingDiv, OptionWrappingDiv,
};
pub use crate::eq::OptionEq;
pub use crate::min_max::OptionMinMax;
pub use crate::mul::{
OptionCheckedMul, OptionMul, OptionMulAssign, OptionOverflowingMul, OptionSaturatingMul,
OptionWrappingMul,
};
pub use crate::ord::OptionOrd;
pub use crate::rem::{
OptionCheckedRem, OptionOverflowingRem, OptionRem, OptionRemAssign, OptionWrappingRem,
};
pub use crate::sub::{
OptionCheckedSub, OptionOverflowingSub, OptionSaturatingSub, OptionSub, OptionSubAssign,
OptionWrappingSub,
};
pub use crate::OptionOperations;
}