pub struct WrappingU64Time<const BITS: u32 = 64>;Expand description
Time implementation for clocks that produce raw u64 tick values and wrap around at 2^BITS.
All arithmetic uses wrapping semantics so measurements across a counter rollover
remain accurate, provided the involved timestamps are less than 2^(BITS-1) ticks apart.
Trait Implementations§
Source§impl<const BITS: u32> Clone for WrappingU64Time<BITS>
impl<const BITS: u32> Clone for WrappingU64Time<BITS>
impl<const BITS: u32> Copy for WrappingU64Time<BITS>
Source§impl<const BITS: u32> Debug for WrappingU64Time<BITS>
impl<const BITS: u32> Debug for WrappingU64Time<BITS>
Source§impl<const BITS: u32> Time for WrappingU64Time<BITS>
impl<const BITS: u32> Time for WrappingU64Time<BITS>
type Instant = WrappingU64Instant<BITS>
type Duration = WrappingU64Duration<BITS>
Source§fn instant_sub(a: Self::Instant, b: Self::Instant) -> Self::Duration
fn instant_sub(a: Self::Instant, b: Self::Instant) -> Self::Duration
Returns
a - b. Behavior when a < b is unspecified: implementations may
panic or return a meaningless value. Use instant_cmp to
check ordering first if unsure.Source§fn duration_sub(a: Self::Duration, b: Self::Duration) -> Self::Duration
fn duration_sub(a: Self::Duration, b: Self::Duration) -> Self::Duration
Returns
a - b. Behavior when a < b is unspecified: implementations may
panic or return a meaningless value.fn duration_add(a: Self::Duration, b: Self::Duration) -> Self::Duration
fn mixed_sub(a: Self::Instant, b: Self::Duration) -> Self::Instant
fn mixed_add(a: Self::Instant, b: Self::Duration) -> Self::Instant
fn instant_cmp(a: Self::Instant, b: Self::Instant) -> Ordering
Auto Trait Implementations§
impl<const BITS: u32> Freeze for WrappingU64Time<BITS>
impl<const BITS: u32> RefUnwindSafe for WrappingU64Time<BITS>
impl<const BITS: u32> Send for WrappingU64Time<BITS>
impl<const BITS: u32> Sync for WrappingU64Time<BITS>
impl<const BITS: u32> Unpin for WrappingU64Time<BITS>
impl<const BITS: u32> UnsafeUnpin for WrappingU64Time<BITS>
impl<const BITS: u32> UnwindSafe for WrappingU64Time<BITS>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more