pub trait CheckedOps: Sized {
// Required methods
fn checked_add_offset(self, offset: Self) -> FsResult<Self>;
fn checked_mul_size(self, size: Self) -> FsResult<Self>;
fn checked_sub_safe(self, other: Self) -> FsResult<Self>;
fn checked_shl_safe(self, shift: u32) -> FsResult<Self>;
}Expand description
Trait for checked arithmetic operations.
Provides methods that return FsError::ArithmeticOverflow on overflow
instead of panicking or wrapping.
Required Methods§
Sourcefn checked_add_offset(self, offset: Self) -> FsResult<Self>
fn checked_add_offset(self, offset: Self) -> FsResult<Self>
Adds an offset, returning an error on overflow.
Sourcefn checked_mul_size(self, size: Self) -> FsResult<Self>
fn checked_mul_size(self, size: Self) -> FsResult<Self>
Multiplies by a size, returning an error on overflow.
Sourcefn checked_sub_safe(self, other: Self) -> FsResult<Self>
fn checked_sub_safe(self, other: Self) -> FsResult<Self>
Subtracts, returning an error on underflow.
Sourcefn checked_shl_safe(self, shift: u32) -> FsResult<Self>
fn checked_shl_safe(self, shift: u32) -> FsResult<Self>
Left-shifts, returning an error if bits would be lost.
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 CheckedOps for u32
impl CheckedOps for u32
Source§fn checked_add_offset(self, offset: u32) -> FsResult<Self>
fn checked_add_offset(self, offset: u32) -> FsResult<Self>
Implements checked add offset.
Source§fn checked_mul_size(self, size: u32) -> FsResult<Self>
fn checked_mul_size(self, size: u32) -> FsResult<Self>
Implements checked mul size.
Source§fn checked_sub_safe(self, other: u32) -> FsResult<Self>
fn checked_sub_safe(self, other: u32) -> FsResult<Self>
Implements checked sub safe.
Source§fn checked_shl_safe(self, shift: u32) -> FsResult<Self>
fn checked_shl_safe(self, shift: u32) -> FsResult<Self>
Implements checked shl safe.
Source§impl CheckedOps for u64
impl CheckedOps for u64
Source§fn checked_add_offset(self, offset: u64) -> FsResult<Self>
fn checked_add_offset(self, offset: u64) -> FsResult<Self>
Implements checked add offset.
Source§fn checked_mul_size(self, size: u64) -> FsResult<Self>
fn checked_mul_size(self, size: u64) -> FsResult<Self>
Implements checked mul size.
Source§fn checked_sub_safe(self, other: u64) -> FsResult<Self>
fn checked_sub_safe(self, other: u64) -> FsResult<Self>
Implements checked sub safe.
Source§fn checked_shl_safe(self, shift: u32) -> FsResult<Self>
fn checked_shl_safe(self, shift: u32) -> FsResult<Self>
Implements checked shl safe.
Source§impl CheckedOps for usize
impl CheckedOps for usize
Source§fn checked_add_offset(self, offset: usize) -> FsResult<Self>
fn checked_add_offset(self, offset: usize) -> FsResult<Self>
Implements checked add offset.
Source§fn checked_mul_size(self, size: usize) -> FsResult<Self>
fn checked_mul_size(self, size: usize) -> FsResult<Self>
Implements checked mul size.
Source§fn checked_sub_safe(self, other: usize) -> FsResult<Self>
fn checked_sub_safe(self, other: usize) -> FsResult<Self>
Implements checked sub safe.
Source§fn checked_shl_safe(self, shift: u32) -> FsResult<Self>
fn checked_shl_safe(self, shift: u32) -> FsResult<Self>
Implements checked shl safe.