1use datastore::{Read, Reader, TypeWriter, Write, Writer};
2
3use crate::MySqlStore;
4
5impl Write<MySqlStore> for bool {
6 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
7 where
8 W: Writer<MySqlStore>,
9 {
10 writer.write_bool(*self)
11 }
12
13 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
14 where
15 W: TypeWriter<MySqlStore>,
16 {
17 writer.write_bool()
18 }
19}
20
21impl Write<MySqlStore> for i8 {
22 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
23 where
24 W: Writer<MySqlStore>,
25 {
26 writer.write_i8(*self)
27 }
28
29 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
30 where
31 W: TypeWriter<MySqlStore>,
32 {
33 writer.write_i8()
34 }
35}
36
37impl Write<MySqlStore> for i16 {
38 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
39 where
40 W: Writer<MySqlStore>,
41 {
42 writer.write_i16(*self)
43 }
44
45 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
46 where
47 W: TypeWriter<MySqlStore>,
48 {
49 writer.write_i16()
50 }
51}
52
53impl Write<MySqlStore> for i32 {
54 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
55 where
56 W: Writer<MySqlStore>,
57 {
58 writer.write_i32(*self)
59 }
60
61 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
62 where
63 W: TypeWriter<MySqlStore>,
64 {
65 writer.write_i32()
66 }
67}
68
69impl Write<MySqlStore> for i64 {
70 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
71 where
72 W: Writer<MySqlStore>,
73 {
74 writer.write_i64(*self)
75 }
76
77 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
78 where
79 W: TypeWriter<MySqlStore>,
80 {
81 writer.write_i64()
82 }
83}
84
85impl Write<MySqlStore> for u8 {
86 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
87 where
88 W: Writer<MySqlStore>,
89 {
90 writer.write_u8(*self)
91 }
92
93 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
94 where
95 W: TypeWriter<MySqlStore>,
96 {
97 writer.write_u8()
98 }
99}
100
101impl Write<MySqlStore> for u16 {
102 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
103 where
104 W: Writer<MySqlStore>,
105 {
106 writer.write_u16(*self)
107 }
108
109 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
110 where
111 W: TypeWriter<MySqlStore>,
112 {
113 writer.write_u16()
114 }
115}
116
117impl Write<MySqlStore> for u32 {
118 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
119 where
120 W: Writer<MySqlStore>,
121 {
122 writer.write_u32(*self)
123 }
124
125 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
126 where
127 W: TypeWriter<MySqlStore>,
128 {
129 writer.write_u32()
130 }
131}
132
133impl Write<MySqlStore> for u64 {
134 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
135 where
136 W: Writer<MySqlStore>,
137 {
138 writer.write_u64(*self)
139 }
140
141 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
142 where
143 W: TypeWriter<MySqlStore>,
144 {
145 writer.write_u64()
146 }
147}
148
149impl Write<MySqlStore> for f32 {
150 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
151 where
152 W: Writer<MySqlStore>,
153 {
154 writer.write_f32(*self)
155 }
156
157 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
158 where
159 W: TypeWriter<MySqlStore>,
160 {
161 writer.write_f32()
162 }
163}
164
165impl Write<MySqlStore> for f64 {
166 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
167 where
168 W: Writer<MySqlStore>,
169 {
170 writer.write_f64(*self)
171 }
172
173 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
174 where
175 W: TypeWriter<MySqlStore>,
176 {
177 writer.write_f64()
178 }
179}
180
181impl Write<MySqlStore> for [u8] {
182 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
183 where
184 W: Writer<MySqlStore>,
185 {
186 writer.write_bytes(self)
187 }
188
189 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
190 where
191 W: TypeWriter<MySqlStore>,
192 {
193 writer.write_bytes()
194 }
195}
196
197impl Write<MySqlStore> for Vec<u8> {
198 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
199 where
200 W: Writer<MySqlStore>,
201 {
202 writer.write_bytes(&self)
203 }
204
205 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
206 where
207 W: TypeWriter<MySqlStore>,
208 {
209 writer.write_bytes()
210 }
211}
212
213impl Write<MySqlStore> for str {
214 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
215 where
216 W: Writer<MySqlStore>,
217 {
218 writer.write_str(self)
219 }
220
221 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
222 where
223 W: TypeWriter<MySqlStore>,
224 {
225 writer.write_str()
226 }
227}
228
229impl Write<MySqlStore> for String {
230 fn write<W>(&self, writer: &mut W) -> Result<(), W::Error>
231 where
232 W: Writer<MySqlStore>,
233 {
234 writer.write_str(&self)
235 }
236
237 fn write_type<W>(writer: &mut W) -> Result<(), W::Error>
238 where
239 W: TypeWriter<MySqlStore>,
240 {
241 writer.write_str()
242 }
243}
244
245impl Read<MySqlStore> for bool {
248 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
249 where
250 R: Reader<MySqlStore>,
251 {
252 reader.read_bool()
253 }
254}
255
256impl Read<MySqlStore> for i8 {
257 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
258 where
259 R: Reader<MySqlStore>,
260 {
261 reader.read_i8()
262 }
263}
264
265impl Read<MySqlStore> for i16 {
266 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
267 where
268 R: Reader<MySqlStore>,
269 {
270 reader.read_i16()
271 }
272}
273
274impl Read<MySqlStore> for i32 {
275 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
276 where
277 R: Reader<MySqlStore>,
278 {
279 reader.read_i32()
280 }
281}
282
283impl Read<MySqlStore> for i64 {
284 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
285 where
286 R: Reader<MySqlStore>,
287 {
288 reader.read_i64()
289 }
290}
291
292impl Read<MySqlStore> for u8 {
293 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
294 where
295 R: Reader<MySqlStore>,
296 {
297 reader.read_u8()
298 }
299}
300
301impl Read<MySqlStore> for u16 {
302 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
303 where
304 R: Reader<MySqlStore>,
305 {
306 reader.read_u16()
307 }
308}
309
310impl Read<MySqlStore> for u32 {
311 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
312 where
313 R: Reader<MySqlStore>,
314 {
315 reader.read_u32()
316 }
317}
318
319impl Read<MySqlStore> for u64 {
320 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
321 where
322 R: Reader<MySqlStore>,
323 {
324 reader.read_u64()
325 }
326}
327
328impl Read<MySqlStore> for f32 {
329 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
330 where
331 R: Reader<MySqlStore>,
332 {
333 reader.read_f32()
334 }
335}
336
337impl Read<MySqlStore> for f64 {
338 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
339 where
340 R: Reader<MySqlStore>,
341 {
342 reader.read_f64()
343 }
344}
345
346impl Read<MySqlStore> for Vec<u8> {
347 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
348 where
349 R: Reader<MySqlStore>,
350 {
351 reader.read_byte_buf()
352 }
353}
354
355impl Read<MySqlStore> for String {
356 fn read<R>(reader: &mut R) -> Result<Self, R::Error>
357 where
358 R: Reader<MySqlStore>,
359 {
360 reader.read_string()
361 }
362}