diff --git a/src/enc/impl_tuples.rs b/src/enc/impl_tuples.rs index c67b869..adf5f5d 100644 --- a/src/enc/impl_tuples.rs +++ b/src/enc/impl_tuples.rs @@ -136,3 +136,269 @@ where Ok(()) } } + +impl Encode for (A, B, C, D, E, F, G, H, I) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + Ok(()) + } +} + +impl Encode for (A, B, C, D, E, F, G, H, I, J) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, + J: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + self.9.encode(encoder)?; + Ok(()) + } +} + +impl Encode for (A, B, C, D, E, F, G, H, I, J, K) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, + J: Encode, + K: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + self.9.encode(encoder)?; + self.10.encode(encoder)?; + Ok(()) + } +} + +impl Encode for (A, B, C, D, E, F, G, H, I, J, K, L) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, + J: Encode, + K: Encode, + L: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + self.9.encode(encoder)?; + self.10.encode(encoder)?; + self.11.encode(encoder)?; + Ok(()) + } +} + +impl Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, + J: Encode, + K: Encode, + L: Encode, + M: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + self.9.encode(encoder)?; + self.10.encode(encoder)?; + self.11.encode(encoder)?; + self.12.encode(encoder)?; + Ok(()) + } +} + +impl Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, + J: Encode, + K: Encode, + L: Encode, + M: Encode, + N: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + self.9.encode(encoder)?; + self.10.encode(encoder)?; + self.11.encode(encoder)?; + self.12.encode(encoder)?; + self.13.encode(encoder)?; + Ok(()) + } +} + +impl Encode + for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, + J: Encode, + K: Encode, + L: Encode, + M: Encode, + N: Encode, + O: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + self.9.encode(encoder)?; + self.10.encode(encoder)?; + self.11.encode(encoder)?; + self.12.encode(encoder)?; + self.13.encode(encoder)?; + self.14.encode(encoder)?; + Ok(()) + } +} + +impl Encode + for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) +where + A: Encode, + B: Encode, + C: Encode, + D: Encode, + E: Encode, + F: Encode, + G: Encode, + H: Encode, + I: Encode, + J: Encode, + K: Encode, + L: Encode, + M: Encode, + N: Encode, + O: Encode, + P: Encode, +{ + fn encode<_E: Encoder>(&self, encoder: &mut _E) -> Result<(), EncodeError> { + self.0.encode(encoder)?; + self.1.encode(encoder)?; + self.2.encode(encoder)?; + self.3.encode(encoder)?; + self.4.encode(encoder)?; + self.5.encode(encoder)?; + self.6.encode(encoder)?; + self.7.encode(encoder)?; + self.8.encode(encoder)?; + self.9.encode(encoder)?; + self.10.encode(encoder)?; + self.11.encode(encoder)?; + self.12.encode(encoder)?; + self.13.encode(encoder)?; + self.14.encode(encoder)?; + self.15.encode(encoder)?; + Ok(()) + } +}