Trait infrared::receiver::time::InfraMonotonic
source · pub trait InfraMonotonic: Sized {
type Instant: Ord + Copy + Add<Self::Duration, Output = Self::Instant> + Sub<Self::Duration, Output = Self::Instant> + Sub<Self::Instant, Output = Self::Duration>;
type Duration: PartialOrd + Copy + Add<Self::Duration, Output = Self::Duration> + Debug;
const ZERO_INSTANT: Self::Instant;
const ZERO_DURATION: Self::Duration;
fn checked_sub(a: Self::Instant, b: Self::Instant) -> Option<Self::Duration>;
fn create_span(freq: u32, p: u32, t: u32) -> Span<Self::Duration>;
}