pub struct FastClearArcRwLock<T: FastClear> { /* private fields */ }Implementations§
Source§impl<T: FastClear> FastClearArcRwLock<T>
impl<T: FastClear> FastClearArcRwLock<T>
pub fn downgrade(&self) -> FastClearWeakRwLock<T>
Trait Implementations§
Source§impl<T: FastClear> Clone for FastClearArcRwLock<T>
impl<T: FastClear> Clone for FastClearArcRwLock<T>
Source§impl<T: FastClear> Deref for FastClearArcRwLock<T>
impl<T: FastClear> Deref for FastClearArcRwLock<T>
Source§impl<T: FastClear> FastClearRwLockPtr<T> for FastClearArcRwLock<T>
impl<T: FastClear> FastClearRwLockPtr<T> for FastClearArcRwLock<T>
fn new_ptr(ptr: Arc<RwLock<T>>) -> Self
fn new_value(obj: T) -> Self
fn ptr(&self) -> &Arc<RwLock<T>>
fn ptr_mut(&mut self) -> &mut Arc<RwLock<T>>
fn read_recursive( &self, active_timestamp: FastClearTimestamp, ) -> RwLockReadGuard<'_, RawRwLock, ObjType>
Source§fn read_recursive_force(&self) -> RwLockReadGuard<'_, RawRwLock, ObjType>
fn read_recursive_force(&self) -> RwLockReadGuard<'_, RawRwLock, ObjType>
without sanity check: this data might be outdated, so only use when you’re read those immutable fields
fn write( &self, active_timestamp: FastClearTimestamp, ) -> RwLockWriteGuard<'_, RawRwLock, ObjType>
Source§fn write_force(&self) -> RwLockWriteGuard<'_, RawRwLock, ObjType>
fn write_force(&self) -> RwLockWriteGuard<'_, RawRwLock, ObjType>
without sanity check: useful only in implementing hard_clear
Source§fn dynamic_clear(&self, active_timestamp: FastClearTimestamp)
fn dynamic_clear(&self, active_timestamp: FastClearTimestamp)
dynamically clear it if not already cleared; it’s safe to call many times, but it will acquire a writer lock
fn ptr_eq(&self, other: &Self) -> bool
Source§impl<T: FastClear> PartialEq for FastClearArcRwLock<T>
impl<T: FastClear> PartialEq for FastClearArcRwLock<T>
impl<T: FastClear> Eq for FastClearArcRwLock<T>
Auto Trait Implementations§
impl<T> Freeze for FastClearArcRwLock<T>
impl<T> !RefUnwindSafe for FastClearArcRwLock<T>
impl<T> Send for FastClearArcRwLock<T>
impl<T> Sync for FastClearArcRwLock<T>
impl<T> Unpin for FastClearArcRwLock<T>
impl<T> !UnwindSafe for FastClearArcRwLock<T>
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more