• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use core::fmt::{Formatter, LowerHex, Result, UpperHex};
2 
3 use super::BytesRef;
4 use crate::{Bytes, BytesMut};
5 
6 impl LowerHex for BytesRef<'_> {
fmt(&self, f: &mut Formatter<'_>) -> Result7     fn fmt(&self, f: &mut Formatter<'_>) -> Result {
8         for &b in self.0 {
9             write!(f, "{:02x}", b)?;
10         }
11         Ok(())
12     }
13 }
14 
15 impl UpperHex for BytesRef<'_> {
fmt(&self, f: &mut Formatter<'_>) -> Result16     fn fmt(&self, f: &mut Formatter<'_>) -> Result {
17         for &b in self.0 {
18             write!(f, "{:02X}", b)?;
19         }
20         Ok(())
21     }
22 }
23 
24 macro_rules! hex_impl {
25     ($tr:ident, $ty:ty) => {
26         impl $tr for $ty {
27             fn fmt(&self, f: &mut Formatter<'_>) -> Result {
28                 $tr::fmt(&BytesRef(self.as_ref()), f)
29             }
30         }
31     };
32 }
33 
34 hex_impl!(LowerHex, Bytes);
35 hex_impl!(LowerHex, BytesMut);
36 hex_impl!(UpperHex, Bytes);
37 hex_impl!(UpperHex, BytesMut);
38