ckb_fixed_hash_core/
std_fmt.rs1use crate::{H160, H256, H512, H520};
2
3macro_rules! impl_std_fmt {
4 ($name:ident, $bytes_size:expr) => {
5 impl ::std::fmt::Debug for $name {
6 #[inline]
7 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8 write!(f, stringify!($name))?;
9 write!(f, " ( [")?;
10 write!(f, " {:#04x}", self.0[0])?;
11 for chr in self.0[1..].iter() {
12 write!(f, ", {:#04x}", chr)?;
13 }
14 write!(f, " ] )")
15 }
16 }
17 impl ::std::fmt::LowerHex for $name {
18 #[inline]
19 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
20 let alternate = f.alternate();
21 if alternate {
22 write!(f, "0x")?;
23 }
24 for x in self.0.iter() {
25 write!(f, "{:02x}", x)?;
26 }
27 Ok(())
28 }
29 }
30 impl ::std::fmt::Display for $name {
31 #[inline]
32 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
33 let alternate = f.alternate();
34 if alternate {
35 write!(f, "0x")?;
36 }
37 for x in self.0.iter() {
38 write!(f, "{:02x}", x)?;
39 }
40 Ok(())
41 }
42 }
43 };
44}
45
46impl_std_fmt!(H160, 20);
47impl_std_fmt!(H256, 32);
48impl_std_fmt!(H512, 64);
49impl_std_fmt!(H520, 65);