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