pub fn slice_owned<O, F>(owner: O, slicer: F) -> OwnedSlicewhere
    O: Send + Sync + 'static,
    F: FnOnce(&O) -> &[u8],
Expand description

Makes an OwnedSlice out of an owner and a slicer function.

Examples

let vec = vec![1, 2, 3, 4];

// Identical to slicing via `&v[1..3]` but produces an owned slice
let slice: OwnedSlice = slice_owned(vec, |v| &v[1..3]);
assert_eq!(&*slice, [2, 3]);
let vec = vec![1, 2, 3, 4];

// Identical to slicing via `&v[..]` but produces an owned slice
let slice: OwnedSlice = slice_owned(vec, Deref::deref);
assert_eq!(&*slice, [1, 2, 3, 4]);