dynamic_pool/
reset.rs

1pub trait DynamicReset {
2    fn reset(&mut self);
3}
4
5impl<T> DynamicReset for Option<T>
6where
7    T: DynamicReset,
8{
9    fn reset(&mut self) {
10        if let Some(x) = self {
11            x.reset();
12        }
13    }
14}
15
16impl<T1, T2> DynamicReset for (T1, T2)
17where
18    T1: DynamicReset,
19    T2: DynamicReset,
20{
21    fn reset(&mut self) {
22        self.0.reset();
23        self.1.reset();
24    }
25}
26
27impl<T1, T2, T3> DynamicReset for (T1, T2, T3)
28where
29    T1: DynamicReset,
30    T2: DynamicReset,
31    T3: DynamicReset,
32{
33    fn reset(&mut self) {
34        self.0.reset();
35        self.1.reset();
36        self.2.reset();
37    }
38}
39
40impl<T1, T2, T3, T4> DynamicReset for (T1, T2, T3, T4)
41where
42    T1: DynamicReset,
43    T2: DynamicReset,
44    T3: DynamicReset,
45    T4: DynamicReset,
46{
47    fn reset(&mut self) {
48        self.0.reset();
49        self.1.reset();
50        self.2.reset();
51        self.3.reset();
52    }
53}
54
55impl<T1, T2, T3, T4, T5> DynamicReset for (T1, T2, T3, T4, T5)
56where
57    T1: DynamicReset,
58    T2: DynamicReset,
59    T3: DynamicReset,
60    T4: DynamicReset,
61    T5: DynamicReset,
62{
63    fn reset(&mut self) {
64        self.0.reset();
65        self.1.reset();
66        self.2.reset();
67        self.3.reset();
68        self.4.reset();
69    }
70}
71
72impl<T1, T2, T3, T4, T5, T6> DynamicReset for (T1, T2, T3, T4, T5, T6)
73where
74    T1: DynamicReset,
75    T2: DynamicReset,
76    T3: DynamicReset,
77    T4: DynamicReset,
78    T5: DynamicReset,
79    T6: DynamicReset,
80{
81    fn reset(&mut self) {
82        self.0.reset();
83        self.1.reset();
84        self.2.reset();
85        self.3.reset();
86        self.4.reset();
87        self.5.reset();
88    }
89}
90
91impl<T1, T2, T3, T4, T5, T6, T7> DynamicReset for (T1, T2, T3, T4, T5, T6, T7)
92where
93    T1: DynamicReset,
94    T2: DynamicReset,
95    T3: DynamicReset,
96    T4: DynamicReset,
97    T5: DynamicReset,
98    T6: DynamicReset,
99    T7: DynamicReset,
100{
101    fn reset(&mut self) {
102        self.0.reset();
103        self.1.reset();
104        self.2.reset();
105        self.3.reset();
106        self.4.reset();
107        self.5.reset();
108        self.6.reset();
109    }
110}
111
112impl<T1, T2, T3, T4, T5, T6, T7, T8> DynamicReset for (T1, T2, T3, T4, T5, T6, T7, T8)
113where
114    T1: DynamicReset,
115    T2: DynamicReset,
116    T3: DynamicReset,
117    T4: DynamicReset,
118    T5: DynamicReset,
119    T6: DynamicReset,
120    T7: DynamicReset,
121    T8: DynamicReset,
122{
123    fn reset(&mut self) {
124        self.0.reset();
125        self.1.reset();
126        self.2.reset();
127        self.3.reset();
128        self.4.reset();
129        self.5.reset();
130        self.6.reset();
131        self.7.reset();
132    }
133}
134
135impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> DynamicReset for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
136where
137    T1: DynamicReset,
138    T2: DynamicReset,
139    T3: DynamicReset,
140    T4: DynamicReset,
141    T5: DynamicReset,
142    T6: DynamicReset,
143    T7: DynamicReset,
144    T8: DynamicReset,
145    T9: DynamicReset,
146{
147    fn reset(&mut self) {
148        self.0.reset();
149        self.1.reset();
150        self.2.reset();
151        self.3.reset();
152        self.4.reset();
153        self.5.reset();
154        self.6.reset();
155        self.7.reset();
156        self.8.reset();
157    }
158}
159
160impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> DynamicReset
161    for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
162where
163    T1: DynamicReset,
164    T2: DynamicReset,
165    T3: DynamicReset,
166    T4: DynamicReset,
167    T5: DynamicReset,
168    T6: DynamicReset,
169    T7: DynamicReset,
170    T8: DynamicReset,
171    T9: DynamicReset,
172    T10: DynamicReset,
173{
174    fn reset(&mut self) {
175        self.0.reset();
176        self.1.reset();
177        self.2.reset();
178        self.3.reset();
179        self.4.reset();
180        self.5.reset();
181        self.6.reset();
182        self.7.reset();
183        self.8.reset();
184        self.9.reset();
185    }
186}