tek/crates/device/src/clock.rs
unspeaker 22d3cc5a5f
Some checks are pending
/ build (push) Waiting to run
wip: refactor into fewer crates, pt.2
2025-05-02 03:24:35 +03:00

16 lines
560 B
Rust

mod clock_api; pub use self::clock_api::*;
mod clock_model; pub use self::clock_model::*;
pub trait HasClock: Send + Sync {
fn clock (&self) -> &Clock;
fn clock_mut (&mut self) -> &mut Clock;
}
#[macro_export] macro_rules! has_clock {
(|$self:ident:$Struct:ident$(<$($L:lifetime),*$($T:ident$(:$U:path)?),*>)?|$cb:expr) => {
impl $(<$($L),*$($T $(: $U)?),*>)? HasClock for $Struct $(<$($L),*$($T),*>)? {
fn clock (&$self) -> &Clock { &$cb }
fn clock_mut (&mut $self) -> &mut Clock { &mut $cb }
}
}
}