bits_io/buf/
buf_impl.rs

1use bytes::{Buf, BufMut};
2
3use crate::prelude::{BitBufMut, BitsMut};
4
5use super::{bit_buf::BitBuf, bits::Bits};
6
7impl Buf for Bits {
8    fn remaining(&self) -> usize {
9        self.remaining_bytes()
10    }
11
12    fn chunk(&self) -> &[u8] {
13        self.chunk_bytes()
14    }
15
16    fn advance(&mut self, cnt: usize) {
17        self.advance_bytes(cnt);
18    }
19}
20
21impl Buf for BitsMut {
22    fn remaining(&self) -> usize {
23        self.remaining_bytes()
24    }
25
26    fn chunk(&self) -> &[u8] {
27        self.chunk_bytes()
28    }
29
30    fn advance(&mut self, cnt: usize) {
31        self.advance_bytes(cnt);
32    }
33}
34
35unsafe impl BufMut for BitsMut {
36    fn remaining_mut(&self) -> usize {
37        self.remaining_mut_bytes()
38    }
39
40    unsafe fn advance_mut(&mut self, cnt: usize) {
41        self.advance_mut_bytes(cnt);
42    }
43
44    fn chunk_mut(&mut self) -> &mut bytes::buf::UninitSlice {
45        self.chunk_mut_bytes()
46    }
47}