Skip to main content

smol_bytes/buffer/
ops.rs

1use core::borrow::{Borrow, BorrowMut};
2
3use super::*;
4
5impl core::ops::Deref for Buffer {
6  type Target = [u8];
7
8  #[cfg_attr(not(coverage), inline(always))]
9  fn deref(&self) -> &Self::Target {
10    self.as_slice()
11  }
12}
13
14impl core::ops::DerefMut for Buffer {
15  #[cfg_attr(not(coverage), inline(always))]
16  fn deref_mut(&mut self) -> &mut Self::Target {
17    self.as_mut_slice()
18  }
19}
20
21impl AsRef<[u8]> for Buffer {
22  #[cfg_attr(not(coverage), inline(always))]
23  fn as_ref(&self) -> &[u8] {
24    self
25  }
26}
27
28impl AsMut<[u8]> for Buffer {
29  #[cfg_attr(not(coverage), inline(always))]
30  fn as_mut(&mut self) -> &mut [u8] {
31    self
32  }
33}
34
35impl Borrow<[u8]> for Buffer {
36  #[cfg_attr(not(coverage), inline(always))]
37  fn borrow(&self) -> &[u8] {
38    self.as_ref()
39  }
40}
41
42impl BorrowMut<[u8]> for Buffer {
43  #[cfg_attr(not(coverage), inline(always))]
44  fn borrow_mut(&mut self) -> &mut [u8] {
45    self.as_mut()
46  }
47}