[−][src]Struct quanta::Instant
A point-in-time wall-clock measurement.
Represents a time measurement that has been taken by Clock
and scaled to reference time,
which is relative to the Unix epoch of 1970-01-01T00:00:00Z.
Unlike the stdlib Instant
, this type has a meaningful difference: it is intended to be opaque, but the
internal value can be accessed. There are no guarantees here and depending on this value directly is
proceeding at your own risk. ⚠️
An Instant
is 8 bytes.
Implementations
impl Instant
[src]
pub fn duration_since(&self, earlier: Instant) -> Duration
[src]
Returns the amount of time elapsed from another instant to this one.
Panics
This function will panic if earlier
is later than self
.
Examples
use quanta::Clock; use std::time::Duration; use std::thread::sleep; let mut clock = Clock::new(); let now = clock.now(); sleep(Duration::new(1, 0)); let new_now = clock.now(); println!("{:?}", new_now.duration_since(now));
pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration>
[src]
Returns the amount of time elapsed from another instant to this one,
or None
if that instant is earlier than this one.
Examples
use quanta::Clock; use std::time::Duration; use std::thread::sleep; let mut clock = Clock::new(); let now = clock.now(); sleep(Duration::new(1, 0)); let new_now = clock.now(); println!("{:?}", new_now.checked_duration_since(now)); println!("{:?}", now.checked_duration_since(new_now)); // None
pub fn saturating_duration_since(&self, earlier: Instant) -> Duration
[src]
Returns the amount of time elapsed from another instant to this one, or zero duration if that instant is earlier than this one.
Examples
use quanta::Clock; use std::time::Duration; use std::thread::sleep; let mut clock = Clock::new(); let now = clock.now(); sleep(Duration::new(1, 0)); let new_now = clock.now(); println!("{:?}", new_now.saturating_duration_since(now)); println!("{:?}", now.saturating_duration_since(new_now)); // 0ns
pub fn checked_add(&self, duration: Duration) -> Option<Instant>
[src]
Returns Some(t)
where t
is the time self + duration
if t
can be represented as
Instant
(which means it's inside the bounds of the underlying data structure), None
otherwise.
pub fn checked_sub(&self, duration: Duration) -> Option<Instant>
[src]
Returns Some(t)
where t
is the time self - duration
if t
can be represented as
Instant
(which means it's inside the bounds of the underlying data structure), None
otherwise.
pub fn as_unix_duration(&self) -> Duration
[src]
Gets this Instant
as a Duration
since the Unix epoch.
pub fn as_u64(&self) -> u64
[src]
Gets the inner value of this Instant
.
Trait Implementations
impl Add<Duration> for Instant
[src]
type Output = Instant
The resulting type after applying the +
operator.
fn add(self, other: Duration) -> Instant
[src]
Panics
This function may panic if the resulting point in time cannot be represented by the
underlying data structure. See Instant::checked_add
for a version without panic.
impl AddAssign<Duration> for Instant
[src]
fn add_assign(&mut self, other: Duration)
[src]
impl AsNanoseconds for Instant
[src]
impl Clone for Instant
[src]
impl Copy for Instant
[src]
impl Debug for Instant
[src]
impl Eq for Instant
[src]
impl Into<Timestamp> for Instant
[src]
impl Ord for Instant
[src]
fn cmp(&self, other: &Self) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<Instant> for Instant
[src]
impl PartialOrd<Instant> for Instant
[src]
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for Instant
[src]
impl StructuralPartialEq for Instant
[src]
impl Sub<Duration> for Instant
[src]
type Output = Instant
The resulting type after applying the -
operator.
fn sub(self, other: Duration) -> Instant
[src]
impl Sub<Instant> for Instant
[src]
type Output = Duration
The resulting type after applying the -
operator.
fn sub(self, other: Instant) -> Duration
[src]
impl SubAssign<Duration> for Instant
[src]
fn sub_assign(&mut self, other: Duration)
[src]
Auto Trait Implementations
impl RefUnwindSafe for Instant
impl Send for Instant
impl Sync for Instant
impl Unpin for Instant
impl UnwindSafe for Instant
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,