pub struct Timestamp {
pub t: u128,
}Expand description
Default concrete time type used by this crate.
Timestamp stores a time value in u128 nanoseconds.
For custom clocks, implement crate::time::TimePoint on your own type and
use it with Registry<T>.
Fields§
§t: u128Implementations§
Source§impl Timestamp
impl Timestamp
Sourcepub fn zero() -> Timestamp
pub fn zero() -> Timestamp
Returns a Timestamp initialized at zero.
This functionality is especially useful for static transforms.
§Examples
use transforms::time::Timestamp;
let zero = Timestamp::zero();
assert_eq!(zero.t, 0);Sourcepub fn as_seconds(&self) -> Result<f64, TimeError>
pub fn as_seconds(&self) -> Result<f64, TimeError>
Converts the Timestamp to seconds as a floating-point number.
Returns an error if the conversion results in accuracy loss.
§Examples
use transforms::time::Timestamp;
let timestamp = Timestamp { t: 1_000_000_000 };
let result = timestamp.as_seconds();
assert!(result.is_ok());
assert_eq!(result.unwrap(), 1.0);
let timestamp = Timestamp {
t: 1_000_000_000_000_000_001,
};
let result = timestamp.as_seconds();
assert!(result.is_err());§Errors
Returns TimeError::AccuracyLoss if the conversion is not exact.
Sourcepub fn as_seconds_unchecked(&self) -> f64
pub fn as_seconds_unchecked(&self) -> f64
Converts the Timestamp to seconds as a floating-point number without checking for accuracy.
§Examples
use transforms::time::Timestamp;
let timestamp = Timestamp {
t: 1_000_000_000_000_000_001,
};
let seconds = timestamp.as_seconds_unchecked();
assert_eq!(seconds, 1_000_000_000.0);Trait Implementations§
impl Copy for Timestamp
impl Eq for Timestamp
Source§impl Ord for Timestamp
impl Ord for Timestamp
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for Timestamp
impl PartialOrd for Timestamp
impl StructuralPartialEq for Timestamp
Source§impl TimePoint for Timestamp
impl TimePoint for Timestamp
Source§fn static_timestamp() -> Timestamp
fn static_timestamp() -> Timestamp
Returns the static timestamp value. Read more
Source§fn duration_since(self, earlier: Timestamp) -> Result<Duration, TimeError>
fn duration_since(self, earlier: Timestamp) -> Result<Duration, TimeError>
Returns elapsed time between two timestamps. Read more
Source§fn checked_add(self, rhs: Duration) -> Result<Timestamp, TimeError>
fn checked_add(self, rhs: Duration) -> Result<Timestamp, TimeError>
Adds duration to timestamp using checked arithmetic. Read more
Source§fn checked_sub(self, rhs: Duration) -> Result<Timestamp, TimeError>
fn checked_sub(self, rhs: Duration) -> Result<Timestamp, TimeError>
Subtracts duration from timestamp using checked arithmetic. Read more
Auto Trait Implementations§
impl Freeze for Timestamp
impl RefUnwindSafe for Timestamp
impl Send for Timestamp
impl Sync for Timestamp
impl Unpin for Timestamp
impl UnsafeUnpin for Timestamp
impl UnwindSafe for Timestamp
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.