[−][src]Trait redox_buffer_pool::GuardableExclusive
A trait for guardable types, that are also non-aliasable (while there is a guard), and mutable.
This trait is intended to be implemented for any type of collection with exclusive access to
the inner data, e.g. Box<[u8]>
, Vec<u8>
, etc.
Safety
This requires that all safety guarantees of Guardable
are upheld, but also that the memory
must not be retrievable while the guard is inserted.
Required methods
fn try_get_data_mut(&mut self) -> Option<&mut T>
Attempt to retrieve the inner mutable data, so long as there is not a guard.
Implementations on Foreign Types
impl<G, T, U> GuardableExclusive<G, U> for Guarded<G, T, Exclusive> where
G: Guard,
T: Deref<Target = U> + DerefMut,
U: ?Sized,
[src]
G: Guard,
T: Deref<Target = U> + DerefMut,
U: ?Sized,
fn try_get_data_mut(&mut self) -> Option<&mut U>
[src]
Implementors
impl<'pool, I, E, G, H, C> GuardableExclusive<G, [u8]> for BufferSlice<'pool, I, H, E, G, C, Exclusive> where
I: Integer,
H: Handle<I, E>,
E: Copy,
G: Guard,
C: AsBufferPool<I, H, E>,
[src]
I: Integer,
H: Handle<I, E>,
E: Copy,
G: Guard,
C: AsBufferPool<I, H, E>,