[][src]Trait redox_buffer_pool::GuardableExclusive

pub unsafe trait GuardableExclusive<G, T>: Guardable<G, T> where
    G: Guard,
    T: ?Sized
{ fn try_get_data_mut(&mut self) -> Option<&mut T>; }

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.

Loading content...

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]

Loading content...

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]

Loading content...