Trait InstantExt

trait InstantExt: sealed::Sealed

An extension trait for std::time::Instant that adds methods for time::Durations.

Required Methods

fn checked_add_signed(self: &Self, duration: Duration) -> Option<Self>

Returns Some(t) where t is the time self.checked_add_signed(duration) if t can be represented as Instant (which means it's inside the bounds of the underlying data structure), None otherwise.

fn checked_sub_signed(self: &Self, duration: Duration) -> Option<Self>

Returns Some(t) where t is the time self.checked_sub_signed(duration) if t can be represented as Instant (which means it's inside the bounds of the underlying data structure), None otherwise.

fn signed_duration_since(self: &Self, earlier: Self) -> Duration

Returns the amount of time elapsed from another instant to this one. This will be negative if earlier is later than self.

Example

# use std::thread::sleep;
# use std::time::{Duration, Instant};
# use time::ext::InstantExt;
let now = Instant::now();
sleep(Duration::new(1, 0));
let new_now = Instant::now();
println!("{:?}", new_now.signed_duration_since(now)); // positive
println!("{:?}", now.signed_duration_since(new_now)); // negative

Provided Methods

fn add_signed(self: Self, duration: Duration) -> Self

Panics

This function may panic if the resulting point in time cannot be represented by the underlying data structure. See InstantExt::checked_add_signed for a non-panicking version.

fn sub_signed(self: Self, duration: Duration) -> Self

Panics

This function may panic if the resulting point in time cannot be represented by the underlying data structure. See InstantExt::checked_sub_signed for a non-panicking version.

Implementors