libhumancode/
smallbytebuf.rs1#[derive(Copy, Clone, Debug)]
2pub struct SmallByteBuf<const N: usize> {
3 buf: [u8; N],
4 len: u8,
5}
6
7impl<const N: usize> SmallByteBuf<N> {
8 pub fn new(buf: [u8; N], len: u8) -> SmallByteBuf<N> {
9 SmallByteBuf { buf, len }
10 }
11
12 pub fn len(&self) -> usize {
13 self.len as usize
14 }
15
16 pub fn as_bytes(&self) -> &[u8] {
17 &self.buf[0..self.len as usize]
18 }
19
20 pub fn as_mut_bytes(&mut self) -> &mut [u8] {
21 &mut self.buf[0..self.len as usize]
22 }
23}