Lines Matching refs:B
36 pub struct GlobalLock<B: GlobalLockBackend> {
37 inner: Lock<B::Item, B::Backend>,
40 impl<B: GlobalLockBackend> GlobalLock<B> {
47 pub const unsafe fn new(data: B::Item) -> Self { in new()
71 B::Backend::init( in init()
73 B::NAME.as_char_ptr(), in init()
74 B::get_lock_class().as_ptr(), in init()
80 pub fn lock(&'static self) -> GlobalGuard<B> { in lock() argument
87 pub fn try_lock(&'static self) -> Option<GlobalGuard<B>> { in try_lock() argument
97 pub struct GlobalGuard<B: GlobalLockBackend> {
98 inner: Guard<'static, B::Item, B::Backend>,
101 impl<B: GlobalLockBackend> core::ops::Deref for GlobalGuard<B> {
102 type Target = B::Item;
109 impl<B: GlobalLockBackend> core::ops::DerefMut for GlobalGuard<B> {
118 pub struct GlobalLockedBy<T: ?Sized, B: GlobalLockBackend> {
119 _backend: PhantomData<B>,
124 unsafe impl<T, B> Send for GlobalLockedBy<T, B>
127 B: GlobalLockBackend,
128 LockedBy<T, B::Item>: Send,
133 unsafe impl<T, B> Sync for GlobalLockedBy<T, B>
136 B: GlobalLockBackend,
137 LockedBy<T, B::Item>: Sync,
141 impl<T, B: GlobalLockBackend> GlobalLockedBy<T, B> {
153 impl<T: ?Sized, B: GlobalLockBackend> GlobalLockedBy<T, B> {
157 pub fn as_ref<'a>(&'a self, _guard: &'a GlobalGuard<B>) -> &'a T { in as_ref()
165 pub fn as_mut<'a>(&'a self, _guard: &'a mut GlobalGuard<B>) -> &'a mut T { in as_mut()