ps-buffer 0.1.0-21

aligned heap buffer
Documentation
use ps_range::PartialRange;

use crate::Buffer;

impl Buffer {
    /// Extracts a slice of this buffer, clamping indices to valid bounds.
    pub fn slice(&self, range: impl PartialRange) -> &[u8] {
        let length = self.len();
        let range = range.clamp_right(length);

        &self[range]
    }
}

#[cfg(test)]
mod tests {
    use crate::{Buffer, BufferError};

    #[test]
    fn try_read() -> Result<(), BufferError> {
        let buffer = Buffer::from_slice("Hello, world!")?;

        assert_eq!(buffer.slice(7..=11), b"world");

        Ok(())
    }
}