1use super::Encode;
2use super::Encoder;
3use crate::error::EncodeError;
4
5impl<A> Encode for (A,)
6where
7 A: Encode,
8{
9 #[inline(always)]
10 fn encode<_E: Encoder>(
11 &self,
12 encoder: &mut _E,
13 ) -> Result<(), EncodeError> {
14 self.0.encode(encoder)?;
15 Ok(())
16 }
17}
18
19impl<A, B> Encode for (A, B)
20where
21 A: Encode,
22 B: Encode,
23{
24 #[inline(always)]
25 fn encode<_E: Encoder>(
26 &self,
27 encoder: &mut _E,
28 ) -> Result<(), EncodeError> {
29 self.0.encode(encoder)?;
30 self.1.encode(encoder)?;
31 Ok(())
32 }
33}
34
35impl<A, B, C> Encode for (A, B, C)
36where
37 A: Encode,
38 B: Encode,
39 C: Encode,
40{
41 #[inline(always)]
42 fn encode<_E: Encoder>(
43 &self,
44 encoder: &mut _E,
45 ) -> Result<(), EncodeError> {
46 self.0.encode(encoder)?;
47 self.1.encode(encoder)?;
48 self.2.encode(encoder)?;
49 Ok(())
50 }
51}
52
53impl<A, B, C, D> Encode for (A, B, C, D)
54where
55 A: Encode,
56 B: Encode,
57 C: Encode,
58 D: Encode,
59{
60 #[inline(always)]
61 fn encode<_E: Encoder>(
62 &self,
63 encoder: &mut _E,
64 ) -> Result<(), EncodeError> {
65 self.0.encode(encoder)?;
66 self.1.encode(encoder)?;
67 self.2.encode(encoder)?;
68 self.3.encode(encoder)?;
69 Ok(())
70 }
71}
72
73impl<A, B, C, D, E> Encode for (A, B, C, D, E)
74where
75 A: Encode,
76 B: Encode,
77 C: Encode,
78 D: Encode,
79 E: Encode,
80{
81 #[inline(always)]
82 fn encode<_E: Encoder>(
83 &self,
84 encoder: &mut _E,
85 ) -> Result<(), EncodeError> {
86 self.0.encode(encoder)?;
87 self.1.encode(encoder)?;
88 self.2.encode(encoder)?;
89 self.3.encode(encoder)?;
90 self.4.encode(encoder)?;
91 Ok(())
92 }
93}
94
95impl<A, B, C, D, E, F> Encode for (A, B, C, D, E, F)
96where
97 A: Encode,
98 B: Encode,
99 C: Encode,
100 D: Encode,
101 E: Encode,
102 F: Encode,
103{
104 #[inline(always)]
105 fn encode<_E: Encoder>(
106 &self,
107 encoder: &mut _E,
108 ) -> Result<(), EncodeError> {
109 self.0.encode(encoder)?;
110 self.1.encode(encoder)?;
111 self.2.encode(encoder)?;
112 self.3.encode(encoder)?;
113 self.4.encode(encoder)?;
114 self.5.encode(encoder)?;
115 Ok(())
116 }
117}
118
119impl<A, B, C, D, E, F, G> Encode for (A, B, C, D, E, F, G)
120where
121 A: Encode,
122 B: Encode,
123 C: Encode,
124 D: Encode,
125 E: Encode,
126 F: Encode,
127 G: Encode,
128{
129 #[inline(always)]
130 fn encode<_E: Encoder>(
131 &self,
132 encoder: &mut _E,
133 ) -> Result<(), EncodeError> {
134 self.0.encode(encoder)?;
135 self.1.encode(encoder)?;
136 self.2.encode(encoder)?;
137 self.3.encode(encoder)?;
138 self.4.encode(encoder)?;
139 self.5.encode(encoder)?;
140 self.6.encode(encoder)?;
141 Ok(())
142 }
143}
144
145impl<A, B, C, D, E, F, G, H> Encode for (A, B, C, D, E, F, G, H)
146where
147 A: Encode,
148 B: Encode,
149 C: Encode,
150 D: Encode,
151 E: Encode,
152 F: Encode,
153 G: Encode,
154 H: Encode,
155{
156 #[inline(always)]
157 fn encode<_E: Encoder>(
158 &self,
159 encoder: &mut _E,
160 ) -> Result<(), EncodeError> {
161 self.0.encode(encoder)?;
162 self.1.encode(encoder)?;
163 self.2.encode(encoder)?;
164 self.3.encode(encoder)?;
165 self.4.encode(encoder)?;
166 self.5.encode(encoder)?;
167 self.6.encode(encoder)?;
168 self.7.encode(encoder)?;
169 Ok(())
170 }
171}
172
173impl<A, B, C, D, E, F, G, H, I> Encode for (A, B, C, D, E, F, G, H, I)
174where
175 A: Encode,
176 B: Encode,
177 C: Encode,
178 D: Encode,
179 E: Encode,
180 F: Encode,
181 G: Encode,
182 H: Encode,
183 I: Encode,
184{
185 #[inline(always)]
186 fn encode<_E: Encoder>(
187 &self,
188 encoder: &mut _E,
189 ) -> Result<(), EncodeError> {
190 self.0.encode(encoder)?;
191 self.1.encode(encoder)?;
192 self.2.encode(encoder)?;
193 self.3.encode(encoder)?;
194 self.4.encode(encoder)?;
195 self.5.encode(encoder)?;
196 self.6.encode(encoder)?;
197 self.7.encode(encoder)?;
198 self.8.encode(encoder)?;
199 Ok(())
200 }
201}
202
203impl<A, B, C, D, E, F, G, H, I, J> Encode for (A, B, C, D, E, F, G, H, I, J)
204where
205 A: Encode,
206 B: Encode,
207 C: Encode,
208 D: Encode,
209 E: Encode,
210 F: Encode,
211 G: Encode,
212 H: Encode,
213 I: Encode,
214 J: Encode,
215{
216 #[inline(always)]
217 fn encode<_E: Encoder>(
218 &self,
219 encoder: &mut _E,
220 ) -> Result<(), EncodeError> {
221 self.0.encode(encoder)?;
222 self.1.encode(encoder)?;
223 self.2.encode(encoder)?;
224 self.3.encode(encoder)?;
225 self.4.encode(encoder)?;
226 self.5.encode(encoder)?;
227 self.6.encode(encoder)?;
228 self.7.encode(encoder)?;
229 self.8.encode(encoder)?;
230 self.9.encode(encoder)?;
231 Ok(())
232 }
233}
234
235impl<A, B, C, D, E, F, G, H, I, J, K> Encode for (A, B, C, D, E, F, G, H, I, J, K)
236where
237 A: Encode,
238 B: Encode,
239 C: Encode,
240 D: Encode,
241 E: Encode,
242 F: Encode,
243 G: Encode,
244 H: Encode,
245 I: Encode,
246 J: Encode,
247 K: Encode,
248{
249 #[inline(always)]
250 fn encode<_E: Encoder>(
251 &self,
252 encoder: &mut _E,
253 ) -> Result<(), EncodeError> {
254 self.0.encode(encoder)?;
255 self.1.encode(encoder)?;
256 self.2.encode(encoder)?;
257 self.3.encode(encoder)?;
258 self.4.encode(encoder)?;
259 self.5.encode(encoder)?;
260 self.6.encode(encoder)?;
261 self.7.encode(encoder)?;
262 self.8.encode(encoder)?;
263 self.9.encode(encoder)?;
264 self.10.encode(encoder)?;
265 Ok(())
266 }
267}
268
269impl<A, B, C, D, E, F, G, H, I, J, K, L> Encode for (A, B, C, D, E, F, G, H, I, J, K, L)
270where
271 A: Encode,
272 B: Encode,
273 C: Encode,
274 D: Encode,
275 E: Encode,
276 F: Encode,
277 G: Encode,
278 H: Encode,
279 I: Encode,
280 J: Encode,
281 K: Encode,
282 L: Encode,
283{
284 #[inline(always)]
285 fn encode<_E: Encoder>(
286 &self,
287 encoder: &mut _E,
288 ) -> Result<(), EncodeError> {
289 self.0.encode(encoder)?;
290 self.1.encode(encoder)?;
291 self.2.encode(encoder)?;
292 self.3.encode(encoder)?;
293 self.4.encode(encoder)?;
294 self.5.encode(encoder)?;
295 self.6.encode(encoder)?;
296 self.7.encode(encoder)?;
297 self.8.encode(encoder)?;
298 self.9.encode(encoder)?;
299 self.10.encode(encoder)?;
300 self.11.encode(encoder)?;
301 Ok(())
302 }
303}
304
305impl<A, B, C, D, E, F, G, H, I, J, K, L, M> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M)
306where
307 A: Encode,
308 B: Encode,
309 C: Encode,
310 D: Encode,
311 E: Encode,
312 F: Encode,
313 G: Encode,
314 H: Encode,
315 I: Encode,
316 J: Encode,
317 K: Encode,
318 L: Encode,
319 M: Encode,
320{
321 #[inline(always)]
322 fn encode<_E: Encoder>(
323 &self,
324 encoder: &mut _E,
325 ) -> Result<(), EncodeError> {
326 self.0.encode(encoder)?;
327 self.1.encode(encoder)?;
328 self.2.encode(encoder)?;
329 self.3.encode(encoder)?;
330 self.4.encode(encoder)?;
331 self.5.encode(encoder)?;
332 self.6.encode(encoder)?;
333 self.7.encode(encoder)?;
334 self.8.encode(encoder)?;
335 self.9.encode(encoder)?;
336 self.10.encode(encoder)?;
337 self.11.encode(encoder)?;
338 self.12.encode(encoder)?;
339 Ok(())
340 }
341}
342
343impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
344where
345 A: Encode,
346 B: Encode,
347 C: Encode,
348 D: Encode,
349 E: Encode,
350 F: Encode,
351 G: Encode,
352 H: Encode,
353 I: Encode,
354 J: Encode,
355 K: Encode,
356 L: Encode,
357 M: Encode,
358 N: Encode,
359{
360 #[inline(always)]
361 fn encode<_E: Encoder>(
362 &self,
363 encoder: &mut _E,
364 ) -> Result<(), EncodeError> {
365 self.0.encode(encoder)?;
366 self.1.encode(encoder)?;
367 self.2.encode(encoder)?;
368 self.3.encode(encoder)?;
369 self.4.encode(encoder)?;
370 self.5.encode(encoder)?;
371 self.6.encode(encoder)?;
372 self.7.encode(encoder)?;
373 self.8.encode(encoder)?;
374 self.9.encode(encoder)?;
375 self.10.encode(encoder)?;
376 self.11.encode(encoder)?;
377 self.12.encode(encoder)?;
378 self.13.encode(encoder)?;
379 Ok(())
380 }
381}
382
383impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Encode
384 for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
385where
386 A: Encode,
387 B: Encode,
388 C: Encode,
389 D: Encode,
390 E: Encode,
391 F: Encode,
392 G: Encode,
393 H: Encode,
394 I: Encode,
395 J: Encode,
396 K: Encode,
397 L: Encode,
398 M: Encode,
399 N: Encode,
400 O: Encode,
401{
402 #[inline(always)]
403 fn encode<_E: Encoder>(
404 &self,
405 encoder: &mut _E,
406 ) -> Result<(), EncodeError> {
407 self.0.encode(encoder)?;
408 self.1.encode(encoder)?;
409 self.2.encode(encoder)?;
410 self.3.encode(encoder)?;
411 self.4.encode(encoder)?;
412 self.5.encode(encoder)?;
413 self.6.encode(encoder)?;
414 self.7.encode(encoder)?;
415 self.8.encode(encoder)?;
416 self.9.encode(encoder)?;
417 self.10.encode(encoder)?;
418 self.11.encode(encoder)?;
419 self.12.encode(encoder)?;
420 self.13.encode(encoder)?;
421 self.14.encode(encoder)?;
422 Ok(())
423 }
424}
425
426impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Encode
427 for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
428where
429 A: Encode,
430 B: Encode,
431 C: Encode,
432 D: Encode,
433 E: Encode,
434 F: Encode,
435 G: Encode,
436 H: Encode,
437 I: Encode,
438 J: Encode,
439 K: Encode,
440 L: Encode,
441 M: Encode,
442 N: Encode,
443 O: Encode,
444 P: Encode,
445{
446 #[inline(always)]
447 fn encode<_E: Encoder>(
448 &self,
449 encoder: &mut _E,
450 ) -> Result<(), EncodeError> {
451 self.0.encode(encoder)?;
452 self.1.encode(encoder)?;
453 self.2.encode(encoder)?;
454 self.3.encode(encoder)?;
455 self.4.encode(encoder)?;
456 self.5.encode(encoder)?;
457 self.6.encode(encoder)?;
458 self.7.encode(encoder)?;
459 self.8.encode(encoder)?;
460 self.9.encode(encoder)?;
461 self.10.encode(encoder)?;
462 self.11.encode(encoder)?;
463 self.12.encode(encoder)?;
464 self.13.encode(encoder)?;
465 self.14.encode(encoder)?;
466 self.15.encode(encoder)?;
467 Ok(())
468 }
469}