[][src]Trait swim_mem::resident::ResidentStow

pub trait ResidentStow<'b, L1: Lease, L2: Lease>: Resident {
    fn new_resident_layout(lease: &L1) -> Layout;
unsafe fn resident_stow(
        src: &mut L1,
        dst: &mut L2,
        hold: &dyn Hold<'b>
    ) -> Result<(), HoldError>;
unsafe fn resident_unstow(src: &mut L1, dst: &mut L2); }
[]

A relocatable Resident of a raw memory Lease.

Required methods

Returns the preferred memory layout of a move destination for the resident of the lease.

Relocates the resident from the src lease to the dst lease. Leaves the src lase in its original state on failure.

Reverts the most recent resident_stow operation by relocating the resident of the dst lease back to the src lease.

Implementors

impl<'b, L1, L2, M> ResidentStow<'b, L1, L2> for String<M> where
    L1: Lease<Data = u8, Meta = BufHeader<M>>,
    L2: Lease<Data = u8, Meta = BufHeader<M>>,
    M: TryClone
[src][]

impl<'b, L1, L2, T, M> ResidentStow<'b, L1, L2> for Buf<T, M> where
    L1: Lease<Data = T, Meta = BufHeader<M>>,
    L2: Lease<Data = T, Meta = BufHeader<M>>,
    T: TryClone,
    M: TryClone
[src][]

impl<'b, L1: Lease, L2: Lease> ResidentStow<'b, L1, L2> for Box<L1::Data, L1::Meta> where
    L1::Data: Stow<'b, L2::Data>,
    L1::Meta: Stow<'b, L2::Meta>, 
[src][]

impl<'b, L1, L2, M> ResidentStow<'b, L1, L2> for CString<M> where
    L1: Lease<Data = u8, Meta = BufHeader<M>>,
    L2: Lease<Data = u8, Meta = BufHeader<M>>,
    M: TryClone