bytey_byte_buffer/byte_buffer_write/
result.rs1use 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}