blob: 79a2cc5347e675a07e2a4387a52c828ac0c7f9c9 (
plain)
use std::marker::PhantomData;
use crate::ThreadKey;
mod context;
mod guard;
mod iterator;
mod tuple;
pub struct LockingIterator<'context, I> {
key: &'context ThreadKey,
iterator: I,
}
pub struct LockingTuple<'context, L, C> {
_lockable: PhantomData<L>,
key: &'context ThreadKey,
tuple: &'context C,
}
pub struct LockContext<'l, L> {
key: Option<ThreadKey>,
lockable: &'l L,
}
pub struct IteratorGuard<'a, Guard, Key> {
_key: &'a Key,
guard: Guard,
}
|