mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
16 lines
560 B
Rust
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 }
|
|
}
|
|
}
|
|
}
|