Skip to main content

bytey_byte_buffer/byte_buffer_write/
result.rs

1use crate::{byte_buffer::ByteBuffer, byte_buffer_write::ByteBufferWrite, error::Result};
2
3impl<T: ByteBufferWrite, E: ByteBufferWrite> ByteBufferWrite for std::result::Result<T, E> {
4    #[inline]
5    fn write_to_bytey_buffer(&self, buffer: &mut ByteBuffer) -> Result<()> {
6        match self {
7            Ok(v) => {
8                1u8.write_to_bytey_buffer(buffer)?;
9                v.write_to_bytey_buffer(buffer)
10            }
11            Err(e) => {
12                2u8.write_to_bytey_buffer(buffer)?;
13                e.write_to_bytey_buffer(buffer)
14            }
15        }
16    }
17
18    #[inline]
19    fn write_to_bytey_buffer_le(&self, buffer: &mut ByteBuffer) -> Result<()> {
20        match self {
21            Ok(v) => {
22                1u8.write_to_bytey_buffer_le(buffer)?;
23                v.write_to_bytey_buffer_le(buffer)
24            }
25            Err(e) => {
26                2u8.write_to_bytey_buffer_le(buffer)?;
27                e.write_to_bytey_buffer_le(buffer)
28            }
29        }
30    }
31
32    #[inline]
33    fn write_to_bytey_buffer_be(&self, buffer: &mut ByteBuffer) -> Result<()> {
34        match self {
35            Ok(v) => {
36                1u8.write_to_bytey_buffer_be(buffer)?;
37                v.write_to_bytey_buffer_be(buffer)
38            }
39            Err(e) => {
40                2u8.write_to_bytey_buffer_be(buffer)?;
41                e.write_to_bytey_buffer_be(buffer)
42            }
43        }
44    }
45}
46
47impl<T: ByteBufferWrite, E: ByteBufferWrite> ByteBufferWrite for &std::result::Result<T, E> {
48    #[inline]
49    fn write_to_bytey_buffer(&self, buffer: &mut ByteBuffer) -> Result<()> {
50        match *self {
51            Ok(v) => {
52                1u8.write_to_bytey_buffer(buffer)?;
53                v.write_to_bytey_buffer(buffer)
54            }
55            Err(e) => {
56                2u8.write_to_bytey_buffer(buffer)?;
57                e.write_to_bytey_buffer(buffer)
58            }
59        }
60    }
61
62    #[inline]
63    fn write_to_bytey_buffer_le(&self, buffer: &mut ByteBuffer) -> Result<()> {
64        match *self {
65            Ok(v) => {
66                1u8.write_to_bytey_buffer_le(buffer)?;
67                v.write_to_bytey_buffer_le(buffer)
68            }
69            Err(e) => {
70                2u8.write_to_bytey_buffer_le(buffer)?;
71                e.write_to_bytey_buffer_le(buffer)
72            }
73        }
74    }
75
76    #[inline]
77    fn write_to_bytey_buffer_be(&self, buffer: &mut ByteBuffer) -> Result<()> {
78        match *self {
79            Ok(v) => {
80                1u8.write_to_bytey_buffer_be(buffer)?;
81                v.write_to_bytey_buffer_be(buffer)
82            }
83            Err(e) => {
84                2u8.write_to_bytey_buffer_be(buffer)?;
85                e.write_to_bytey_buffer_be(buffer)
86            }
87        }
88    }
89}
90
91impl<E: ByteBufferWrite> ByteBufferWrite for std::result::Result<(), E> {
92    #[inline]
93    fn write_to_bytey_buffer(&self, buffer: &mut ByteBuffer) -> Result<()> {
94        match self {
95            Ok(()) => 1u8.write_to_bytey_buffer(buffer),
96            Err(e) => {
97                2u8.write_to_bytey_buffer(buffer)?;
98                e.write_to_bytey_buffer(buffer)
99            }
100        }
101    }
102
103    #[inline]
104    fn write_to_bytey_buffer_le(&self, buffer: &mut ByteBuffer) -> Result<()> {
105        match self {
106            Ok(()) => 1u8.write_to_bytey_buffer_le(buffer),
107            Err(e) => {
108                2u8.write_to_bytey_buffer_le(buffer)?;
109                e.write_to_bytey_buffer_le(buffer)
110            }
111        }
112    }
113
114    #[inline]
115    fn write_to_bytey_buffer_be(&self, buffer: &mut ByteBuffer) -> Result<()> {
116        match self {
117            Ok(()) => 1u8.write_to_bytey_buffer_be(buffer),
118            Err(e) => {
119                2u8.write_to_bytey_buffer_be(buffer)?;
120                e.write_to_bytey_buffer_be(buffer)
121            }
122        }
123    }
124}
125
126impl<E: ByteBufferWrite> ByteBufferWrite for &std::result::Result<(), E> {
127    #[inline]
128    fn write_to_bytey_buffer(&self, buffer: &mut ByteBuffer) -> Result<()> {
129        match *self {
130            Ok(()) => 1u8.write_to_bytey_buffer(buffer),
131            Err(e) => {
132                2u8.write_to_bytey_buffer(buffer)?;
133                e.write_to_bytey_buffer(buffer)
134            }
135        }
136    }
137
138    #[inline]
139    fn write_to_bytey_buffer_le(&self, buffer: &mut ByteBuffer) -> Result<()> {
140        match *self {
141            Ok(()) => 1u8.write_to_bytey_buffer_le(buffer),
142            Err(e) => {
143                2u8.write_to_bytey_buffer_le(buffer)?;
144                e.write_to_bytey_buffer_le(buffer)
145            }
146        }
147    }
148
149    #[inline]
150    fn write_to_bytey_buffer_be(&self, buffer: &mut ByteBuffer) -> Result<()> {
151        match *self {
152            Ok(()) => 1u8.write_to_bytey_buffer_be(buffer),
153            Err(e) => {
154                2u8.write_to_bytey_buffer_be(buffer)?;
155                e.write_to_bytey_buffer_be(buffer)
156            }
157        }
158    }
159}