pub struct DurationNanos(/* private fields */);Expand description
Represents an unsigned duration in nanoseconds.
Implementations§
Source§impl DurationNanos
impl DurationNanos
Sourcepub const fn from_micros(micros: u64) -> Self
pub const fn from_micros(micros: u64) -> Self
Creates a duration from a number of whole microseconds.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Sourcepub const fn try_from_micros(
micros: u64,
) -> Result<Self, DurationNanosOutOfRangeError>
pub const fn try_from_micros( micros: u64, ) -> Result<Self, DurationNanosOutOfRangeError>
Creates a duration from a number of whole microseconds.
§Errors
Returns an error if the result exceeds DurationNanos::MAX.
Sourcepub const fn from_millis(millis: u64) -> Self
pub const fn from_millis(millis: u64) -> Self
Creates a duration from a number of whole milliseconds.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Sourcepub const fn try_from_millis(
millis: u64,
) -> Result<Self, DurationNanosOutOfRangeError>
pub const fn try_from_millis( millis: u64, ) -> Result<Self, DurationNanosOutOfRangeError>
Creates a duration from a number of whole milliseconds.
§Errors
Returns an error if the result exceeds DurationNanos::MAX.
Sourcepub const fn from_secs(secs: u64) -> Self
pub const fn from_secs(secs: u64) -> Self
Creates a duration from a number of whole seconds.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Sourcepub const fn try_from_secs(
secs: u64,
) -> Result<Self, DurationNanosOutOfRangeError>
pub const fn try_from_secs( secs: u64, ) -> Result<Self, DurationNanosOutOfRangeError>
Creates a duration from a number of whole seconds.
§Errors
Returns an error if the result exceeds DurationNanos::MAX.
Sourcepub const fn from_mins(mins: u64) -> Self
pub const fn from_mins(mins: u64) -> Self
Creates a duration from a number of whole minutes.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Sourcepub const fn try_from_mins(
mins: u64,
) -> Result<Self, DurationNanosOutOfRangeError>
pub const fn try_from_mins( mins: u64, ) -> Result<Self, DurationNanosOutOfRangeError>
Creates a duration from a number of whole minutes.
§Errors
Returns an error if the result exceeds DurationNanos::MAX.
Sourcepub const fn from_hours(hours: u64) -> Self
pub const fn from_hours(hours: u64) -> Self
Creates a duration from a number of whole hours.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Sourcepub const fn try_from_hours(
hours: u64,
) -> Result<Self, DurationNanosOutOfRangeError>
pub const fn try_from_hours( hours: u64, ) -> Result<Self, DurationNanosOutOfRangeError>
Creates a duration from a number of whole hours.
§Errors
Returns an error if the result exceeds DurationNanos::MAX.
Sourcepub const fn from_days(days: u64) -> Self
pub const fn from_days(days: u64) -> Self
Creates a duration from a number of whole days.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Sourcepub const fn try_from_days(
days: u64,
) -> Result<Self, DurationNanosOutOfRangeError>
pub const fn try_from_days( days: u64, ) -> Result<Self, DurationNanosOutOfRangeError>
Creates a duration from a number of whole days.
§Errors
Returns an error if the result exceeds DurationNanos::MAX.
Sourcepub const fn as_secs_f64(&self) -> f64
pub const fn as_secs_f64(&self) -> f64
Returns the total duration in seconds as f64.
Sourcepub const fn subsec_millis(&self) -> u64
pub const fn subsec_millis(&self) -> u64
Returns the fractional part of this duration in whole milliseconds.
Sourcepub const fn subsec_micros(&self) -> u64
pub const fn subsec_micros(&self) -> u64
Returns the fractional part of this duration in whole microseconds.
Sourcepub const fn subsec_nanos(&self) -> u64
pub const fn subsec_nanos(&self) -> u64
Returns the fractional part of this duration in nanoseconds.
Sourcepub const fn checked_add(self, rhs: Self) -> Option<Self>
pub const fn checked_add(self, rhs: Self) -> Option<Self>
Returns Some(self + rhs) or None if the addition would overflow.
Sourcepub const fn checked_sub(self, rhs: Self) -> Option<Self>
pub const fn checked_sub(self, rhs: Self) -> Option<Self>
Returns Some(self - rhs) or None if the subtraction would underflow.
Sourcepub const fn saturating_add(self, rhs: Self) -> Self
pub const fn saturating_add(self, rhs: Self) -> Self
Adds rhs, saturating at DurationNanos::MAX.
Sourcepub const fn saturating_sub(self, rhs: Self) -> Self
pub const fn saturating_sub(self, rhs: Self) -> Self
Subtracts rhs, saturating at zero.
Sourcepub const fn checked_mul(self, rhs: u64) -> Option<Self>
pub const fn checked_mul(self, rhs: u64) -> Option<Self>
Returns Some(self * rhs) or None if the multiplication would overflow.
Sourcepub const fn saturating_mul(self, rhs: u64) -> Self
pub const fn saturating_mul(self, rhs: u64) -> Self
Multiplies by rhs, saturating at DurationNanos::MAX.
Sourcepub const fn checked_div(self, rhs: u64) -> Option<Self>
pub const fn checked_div(self, rhs: u64) -> Option<Self>
Returns Some(self / rhs) or None if rhs is zero.
Trait Implementations§
Source§impl Add for DurationNanos
Adds two DurationNanos values.
impl Add for DurationNanos
Adds two DurationNanos values.
§Panics
Panics if the result exceeds DurationNanos::MAX. Use
DurationNanos::checked_add or DurationNanos::saturating_add for explicit overflow
handling.
Source§impl Add<DurationNanos> for UnixNanos
Adds a duration to a timestamp.
impl Add<DurationNanos> for UnixNanos
Adds a duration to a timestamp.
§Panics
Panics on overflow. Use UnixNanos::checked_add or UnixNanos::saturating_add for
explicit overflow handling.
Source§impl AddAssign for DurationNanos
Add-assigns a duration.
impl AddAssign for DurationNanos
Add-assigns a duration.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+= operation. Read moreSource§impl AddAssign<DurationNanos> for UnixNanos
Add-assigns a duration to UnixNanos.
impl AddAssign<DurationNanos> for UnixNanos
Add-assigns a duration to UnixNanos.
§Panics
Panics on overflow. This is intentional fail-fast behavior for timestamp arithmetic.
Source§fn add_assign(&mut self, rhs: DurationNanos)
fn add_assign(&mut self, rhs: DurationNanos)
+= operation. Read moreSource§impl Clone for DurationNanos
impl Clone for DurationNanos
impl Copy for DurationNanos
Source§impl Debug for DurationNanos
impl Debug for DurationNanos
Source§impl Default for DurationNanos
impl Default for DurationNanos
Source§impl<'de> Deserialize<'de> for DurationNanos
impl<'de> Deserialize<'de> for DurationNanos
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for DurationNanos
impl Display for DurationNanos
Source§impl Div<u64> for DurationNanos
Divides a duration by an unsigned scalar.
impl Div<u64> for DurationNanos
Divides a duration by an unsigned scalar.
§Panics
Panics if rhs is zero. Use DurationNanos::checked_div when the divisor may be zero.
Source§impl DivAssign<u64> for DurationNanos
Divide-assigns a duration by an unsigned scalar.
impl DivAssign<u64> for DurationNanos
Divide-assigns a duration by an unsigned scalar.
§Panics
Panics if rhs is zero.
Source§fn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
/= operation. Read moreimpl Eq for DurationNanos
Source§impl From<DurationNanos> for Duration
impl From<DurationNanos> for Duration
Source§fn from(value: DurationNanos) -> Self
fn from(value: DurationNanos) -> Self
Source§impl From<DurationNanos> for SignedDuration
impl From<DurationNanos> for SignedDuration
Source§fn from(value: DurationNanos) -> Self
fn from(value: DurationNanos) -> Self
Source§impl Hash for DurationNanos
impl Hash for DurationNanos
Source§impl Mul<u64> for DurationNanos
Multiplies a duration by an unsigned scalar.
impl Mul<u64> for DurationNanos
Multiplies a duration by an unsigned scalar.
§Panics
Panics if the result exceeds DurationNanos::MAX. Use
DurationNanos::checked_mul or DurationNanos::saturating_mul for explicit overflow
handling.
Source§impl MulAssign<u64> for DurationNanos
Multiply-assigns a duration by an unsigned scalar.
impl MulAssign<u64> for DurationNanos
Multiply-assigns a duration by an unsigned scalar.
§Panics
Panics if the result exceeds DurationNanos::MAX.
Source§fn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
*= operation. Read moreSource§impl Ord for DurationNanos
impl Ord for DurationNanos
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for DurationNanos
impl PartialEq for DurationNanos
Source§impl PartialOrd for DurationNanos
impl PartialOrd for DurationNanos
Source§impl Serialize for DurationNanos
impl Serialize for DurationNanos
impl StructuralPartialEq for DurationNanos
Source§impl Sub for DurationNanos
Subtracts one DurationNanos value from another.
impl Sub for DurationNanos
Subtracts one DurationNanos value from another.
§Panics
Panics if rhs exceeds self. Use DurationNanos::checked_sub or
DurationNanos::saturating_sub for explicit underflow handling.
Source§impl Sub<DurationNanos> for UnixNanos
Subtracts a duration from a timestamp.
impl Sub<DurationNanos> for UnixNanos
Subtracts a duration from a timestamp.
§Panics
Panics on underflow. Use UnixNanos::checked_sub or UnixNanos::saturating_sub for
explicit underflow handling.
Source§impl SubAssign for DurationNanos
Sub-assigns a duration.
impl SubAssign for DurationNanos
Sub-assigns a duration.
§Panics
Panics if rhs exceeds self.
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-= operation. Read moreSource§impl SubAssign<DurationNanos> for UnixNanos
Sub-assigns a duration from UnixNanos.
impl SubAssign<DurationNanos> for UnixNanos
Sub-assigns a duration from UnixNanos.
§Panics
Panics on underflow. This is intentional fail-fast behavior for timestamp arithmetic.
Source§fn sub_assign(&mut self, rhs: DurationNanos)
fn sub_assign(&mut self, rhs: DurationNanos)
-= operation. Read moreSource§impl TryFrom<Duration> for DurationNanos
impl TryFrom<Duration> for DurationNanos
Auto Trait Implementations§
impl Freeze for DurationNanos
impl RefUnwindSafe for DurationNanos
impl Send for DurationNanos
impl Sync for DurationNanos
impl Unpin for DurationNanos
impl UnsafeUnpin for DurationNanos
impl UnwindSafe for DurationNanos
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.