ps_buffer/methods/
slice.rs1use ps_range::PartialRange;
2
3use crate::Buffer;
4
5impl Buffer {
6 pub fn slice(&self, range: impl PartialRange) -> &[u8] {
8 let length = self.len();
9 let range = range.clamp_right(length);
10
11 &self[range]
12 }
13}
14
15#[cfg(test)]
16mod tests {
17 use crate::{Buffer, BufferError};
18
19 #[test]
20 fn try_read() -> Result<(), BufferError> {
21 let buffer = Buffer::from_slice("Hello, world!")?;
22
23 assert_eq!(buffer.slice(7..=11), b"world");
24
25 Ok(())
26 }
27}