Ticks

Struct Ticks 

Source
pub struct Ticks<'clock, C: 'clock> {
    pub value: u32,
    pub clock: &'clock C,
}
Expand description

Represents a number of ticks of a given clock

This struct is used to represent an amount of time, a duration, but in a low-level way that hardware peripherals can understand and handle. It is meant to be a common denominator that higher-level time APIs can be built on top of.

Fields§

§value: u32

The number of ticks

§clock: &'clock C

Reference to the clock

For many clocks, it’s possible to change their frequency. If this were to be done after an instance of Ticks had been created, that would invalidate the Ticks instance, as the same number of ticks would suddenly represent a different duration of time.

This reference exists to prevent this. Any change to the configuration of a clock would presumably require a mutable reference, which means as long as this shared reference to the clock exists, the compiler will prevent the clock frequency from being changed.

Trait Implementations§

Source§

impl<'clock, Clock> Clone for Ticks<'clock, Clock>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'clock, Clock> Copy for Ticks<'clock, Clock>

Auto Trait Implementations§

§

impl<'clock, C> Freeze for Ticks<'clock, C>

§

impl<'clock, C> RefUnwindSafe for Ticks<'clock, C>
where C: RefUnwindSafe,

§

impl<'clock, C> Send for Ticks<'clock, C>
where C: Sync,

§

impl<'clock, C> Sync for Ticks<'clock, C>
where C: Sync,

§

impl<'clock, C> Unpin for Ticks<'clock, C>

§

impl<'clock, C> UnwindSafe for Ticks<'clock, C>
where C: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.