pub struct MutexOwnedReusable<T> { /* private fields */ }
Expand description
Wrapper over T used by MutexObjectPool
.
Access is allowed with std::ops::Deref
or std::ops::DerefMut
§Example
use lockfree_object_pool::MutexObjectPool;
use std::sync::Arc;
let pool = Arc::new(MutexObjectPool::<u32>::new(
|| Default::default(),
|v| {
*v = 0;
}
));
let mut item = pool.pull_owned();
*item = 5;
let work = *item * 5;
Implementations§
Source§impl<T> MutexOwnedReusable<T>
impl<T> MutexOwnedReusable<T>
Sourcepub fn new(pool: Arc<MutexObjectPool<T>>, data: ManuallyDrop<T>) -> Self
pub fn new(pool: Arc<MutexObjectPool<T>>, data: ManuallyDrop<T>) -> Self
Trait Implementations§
Source§impl<T> Deref for MutexOwnedReusable<T>
impl<T> Deref for MutexOwnedReusable<T>
Source§impl<T> DerefMut for MutexOwnedReusable<T>
impl<T> DerefMut for MutexOwnedReusable<T>
Auto Trait Implementations§
impl<T> Freeze for MutexOwnedReusable<T>where
T: Freeze,
impl<T> !RefUnwindSafe for MutexOwnedReusable<T>
impl<T> Send for MutexOwnedReusable<T>where
T: Send,
impl<T> Sync for MutexOwnedReusable<T>
impl<T> Unpin for MutexOwnedReusable<T>where
T: Unpin,
impl<T> !UnwindSafe for MutexOwnedReusable<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more