pub fn slice_buffer<'a, B: Buffer, I: BufferIndex + 'a>(
buffer: &'a B,
index: I,
) -> impl Buffer
Expand description
Create a sub-buffer from a buffer using an index range.
§Examples
let buffer = BufferData::new_mono(vec![1.0, 2.0, 3.0]);
assert_eq!(slice_buffer(&buffer, 1..).channel(0), [2.0, 3.0]);
assert_eq!(slice_buffer(&buffer, 1..2).channel(0), [2.0]);
assert_eq!(slice_buffer(&buffer, ..=1).channel(0), [1.0, 2.0]);
§Panics
Will panic if the index range isn’t within the bounds of the buffer:
ⓘ
let buffer = BufferData::new_mono(vec![1.0, 2.0, 3.0]);
slice_buffer(&buffer, 4..);