[−][src]Type Definition swim_mem::lease::SoftBuf
type SoftBuf<'a, T, M = ()> = Soft<'a, Buf<T, M>>;
Undereferenceable weak owner of a resizeable array of values stored in a
Hold
-allocated, atomically reference counted memory block.
Examples
Create a strongly referenced buffer, then obtain a weak reference to it:
let hard = HardBuf::<u8>::from_clone(&[2, 3]); let soft = hard.to_soft();
Recover a strong mutable reference from a soft reference, and push values onto the end of the buffer, growing its capacity as needed:
let hard = HardBuf::<u8>::from_clone(&[1, 2]); let soft = hard.to_soft(); let mut recover = unsafe { soft.try_to_mut() }.unwrap(); recover.push(3);
Recover a strong immutable reference from a soft reference, and access its its elements by index:
let hard = HardBuf::<u8>::from_clone(&[1, 2, 3]); let soft = hard.to_soft(); let recover = soft.try_to_ref().unwrap(); let three = recover[2];