]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - api/rrtce.h
Merge branch 'feature/refactor-extensions'
[hubacji1/rrts.git] / api / rrtce.h
1 /*! \brief RRT compound extensions.
2
3 This file contains compound extensions. The goal is to merge multiple
4 extensions from `rrtext.h` in one.
5
6 Compound extensions have no implementation.
7 */
8 #ifndef RRTCE_H
9 #define RRTCE_H
10
11 #include "rrts.h"
12 #include "rrtext.h"
13
14 class RRTCE33
15         : public RRTExt2
16         , public RRTExt8
17         , public RRTExt17
18 {
19         public:
20                 void init()
21                 {
22                         RRTExt2::init();
23                         RRTExt8::init();
24                 }
25                 void deinit()
26                 {
27                         RRTExt2::deinit();
28                         RRTExt8::deinit();
29                 }
30 };
31 class RRTCE32
32         : public RRTExt2
33         , public RRTExt8
34         , public RRTExt1
35 {
36         public:
37                 void init()
38                 {
39                         RRTExt2::init();
40                         RRTExt8::init();
41                 }
42                 void deinit()
43                 {
44                         RRTExt2::deinit();
45                         RRTExt8::deinit();
46                 }
47 };
48 class RRTCE31
49         : public RRTExt2
50         , public RRTExt8
51         , public RRTExt5
52 {
53         public:
54                 void init()
55                 {
56                         RRTExt2::init();
57                         RRTExt8::init();
58                 }
59                 void deinit()
60                 {
61                         RRTExt2::deinit();
62                         RRTExt8::deinit();
63                 }
64 };
65 class RRTCE30
66         : public RRTExt2
67         , public RRTExt8
68         , public RRTExt6
69 {
70         public:
71                 void init()
72                 {
73                         RRTExt2::init();
74                         RRTExt8::init();
75                 }
76                 void deinit()
77                 {
78                         RRTExt2::deinit();
79                         RRTExt8::deinit();
80                 }
81 };
82
83 class RRTCE29
84         : public RRTExt2
85         , public RRTExt9
86         , public RRTExt17
87 {
88         public:
89                 void init()
90                 {
91                         RRTExt2::init();
92                         RRTExt9::init();
93                 }
94                 void deinit()
95                 {
96                         RRTExt2::deinit();
97                         RRTExt9::deinit();
98                 }
99 };
100 class RRTCE28
101         : public RRTExt2
102         , public RRTExt9
103         , public RRTExt1
104 {
105         public:
106                 void init()
107                 {
108                         RRTExt2::init();
109                         RRTExt9::init();
110                 }
111                 void deinit()
112                 {
113                         RRTExt2::deinit();
114                         RRTExt9::deinit();
115                 }
116 };
117 class RRTCE27
118         : public RRTExt2
119         , public RRTExt9
120         , public RRTExt5
121 {
122         public:
123                 void init()
124                 {
125                         RRTExt2::init();
126                         RRTExt9::init();
127                 }
128                 void deinit()
129                 {
130                         RRTExt2::deinit();
131                         RRTExt9::deinit();
132                 }
133 };
134 class RRTCE26
135         : public RRTExt2
136         , public RRTExt9
137         , public RRTExt6
138 {
139         public:
140                 void init()
141                 {
142                         RRTExt2::init();
143                         RRTExt9::init();
144                 }
145                 void deinit()
146                 {
147                         RRTExt2::deinit();
148                         RRTExt9::deinit();
149                 }
150 };
151
152 class RRTCE25
153         : public RRTExt2
154         , public RRTExt7
155         , public RRTExt17
156 {
157         public:
158                 void init()
159                 {
160                         RRTExt2::init();
161                         RRTExt7::init();
162                 }
163                 void deinit()
164                 {
165                         RRTExt2::deinit();
166                         RRTExt7::deinit();
167                 }
168 };
169 class RRTCE24
170         : public RRTExt2
171         , public RRTExt7
172         , public RRTExt1
173 {
174         public:
175                 void init()
176                 {
177                         RRTExt2::init();
178                         RRTExt7::init();
179                 }
180                 void deinit()
181                 {
182                         RRTExt2::deinit();
183                         RRTExt7::deinit();
184                 }
185 };
186 class RRTCE23
187         : public RRTExt2
188         , public RRTExt7
189         , public RRTExt5
190 {
191         public:
192                 void init()
193                 {
194                         RRTExt2::init();
195                         RRTExt7::init();
196                 }
197                 void deinit()
198                 {
199                         RRTExt2::deinit();
200                         RRTExt7::deinit();
201                 }
202 };
203 class RRTCE22
204         : public RRTExt2
205         , public RRTExt7
206         , public RRTExt6
207 {
208         public:
209                 void init()
210                 {
211                         RRTExt2::init();
212                         RRTExt7::init();
213                 }
214                 void deinit()
215                 {
216                         RRTExt2::deinit();
217                         RRTExt7::deinit();
218                 }
219 };
220
221 class RRTCE21
222         : public RRTExt2
223         , public RRTExt4
224         , public RRTExt17
225 {
226         public:
227                 void init()
228                 {
229                         RRTExt2::init();
230                         RRTExt4::init();
231                 }
232                 void deinit()
233                 {
234                         RRTExt2::deinit();
235                         RRTExt4::deinit();
236                 }
237 };
238 class RRTCE20
239         : public RRTExt2
240         , public RRTExt4
241         , public RRTExt1
242 {
243         public:
244                 void init()
245                 {
246                         RRTExt2::init();
247                         RRTExt4::init();
248                 }
249                 void deinit()
250                 {
251                         RRTExt2::deinit();
252                         RRTExt4::deinit();
253                 }
254 };
255 class RRTCE19
256         : public RRTExt2
257         , public RRTExt4
258         , public RRTExt5
259 {
260         public:
261                 void init()
262                 {
263                         RRTExt2::init();
264                         RRTExt4::init();
265                 }
266                 void deinit()
267                 {
268                         RRTExt2::deinit();
269                         RRTExt4::deinit();
270                 }
271 };
272 class RRTCE18
273         : public RRTExt2
274         , public RRTExt4
275         , public RRTExt6
276 {
277         public:
278                 void init()
279                 {
280                         RRTExt2::init();
281                         RRTExt4::init();
282                 }
283                 void deinit()
284                 {
285                         RRTExt2::deinit();
286                         RRTExt4::deinit();
287                 }
288 };
289
290 class RRTCE17 : public RRTExt2, public RRTExt10 {};
291 class RRTCE16
292         : public RRTExt2
293         , public RRTExt3
294         , public RRTExt9
295         , public RRTExt1
296 {
297         public:
298                 void init()
299                 {
300                         RRTExt2::init();
301                         RRTExt9::init();
302                 }
303                 void deinit()
304                 {
305                         RRTExt2::deinit();
306                         RRTExt9::deinit();
307                 }
308 };
309 class RRTCE15
310         : public RRTExt2
311         , public RRTExt3
312         , public RRTExt9
313         , public RRTExt6
314 {
315         public:
316                 void init()
317                 {
318                         RRTExt2::init();
319                         RRTExt9::init();
320                 }
321                 void deinit()
322                 {
323                         RRTExt2::deinit();
324                         RRTExt9::deinit();
325                 }
326 };
327 class RRTCE14
328         : public RRTExt2
329         , public RRTExt3
330         , public RRTExt8
331         , public RRTExt1
332 {
333         public:
334                 void init()
335                 {
336                         RRTExt2::init();
337                         RRTExt8::init();
338                 }
339                 void deinit()
340                 {
341                         RRTExt2::deinit();
342                         RRTExt8::deinit();
343                 }
344 };
345 class RRTCE13
346         : public RRTExt2
347         , public RRTExt3
348         , public RRTExt8
349         , public RRTExt6
350 {
351         public:
352                 void init()
353                 {
354                         RRTExt2::init();
355                         RRTExt8::init();
356                 }
357                 void deinit()
358                 {
359                         RRTExt2::deinit();
360                         RRTExt8::deinit();
361                 }
362 };
363 class RRTCE12
364         : public RRTExt2
365         , public RRTExt3
366         , public RRTExt7
367         , public RRTExt1
368 {
369         public:
370                 void init()
371                 {
372                         RRTExt2::init();
373                         RRTExt7::init();
374                 }
375                 void deinit()
376                 {
377                         RRTExt2::deinit();
378                         RRTExt7::deinit();
379                 }
380 };
381 class RRTCE11
382         : public RRTExt2
383         , public RRTExt3
384         , public RRTExt7
385         , public RRTExt5
386 {
387         public:
388                 void init()
389                 {
390                         RRTExt2::init();
391                         RRTExt7::init();
392                 }
393                 void deinit()
394                 {
395                         RRTExt2::deinit();
396                         RRTExt7::deinit();
397                 }
398 };
399 class RRTCE10
400         : public RRTExt2
401         , public RRTExt3
402         , public RRTExt7
403         , public RRTExt6
404 {
405         public:
406                 void init()
407                 {
408                         RRTExt2::init();
409                         RRTExt7::init();
410                 }
411                 void deinit()
412                 {
413                         RRTExt2::deinit();
414                         RRTExt7::deinit();
415                 }
416 };
417 class RRTCE9
418         : public RRTExt2
419         , public RRTExt3
420         , public RRTExt4
421         , public RRTExt1
422 {
423         public:
424                 void init()
425                 {
426                         RRTExt2::init();
427                         RRTExt4::init();
428                 }
429                 void deinit()
430                 {
431                         RRTExt2::deinit();
432                         RRTExt4::deinit();
433                 }
434 };
435 class RRTCE8
436         : public RRTExt2
437         , public RRTExt3
438         , public RRTExt4
439         , public RRTExt6
440 {
441         public:
442                 void init()
443                 {
444                         RRTExt2::init();
445                         RRTExt4::init();
446                 }
447                 void deinit()
448                 {
449                         RRTExt2::deinit();
450                         RRTExt4::deinit();
451                 }
452 };
453 class RRTCE7
454         : public RRTExt2
455         , public RRTExt3
456         , public RRTExt4
457         , public RRTExt5
458 {
459         public:
460                 void init()
461                 {
462                         RRTExt2::init();
463                         RRTExt4::init();
464                 }
465                 void deinit()
466                 {
467                         RRTExt2::deinit();
468                         RRTExt4::deinit();
469                 }
470 };
471 class RRTCE6 : public RRTExt2, public RRTExt6, public RRTExt4 {
472         public:
473                 void init()
474                 {
475                         RRTExt2::init();
476                         RRTExt4::init();
477                 }
478                 void deinit()
479                 {
480                         RRTExt2::deinit();
481                         RRTExt4::deinit();
482                 }
483 };
484 class RRTCE5 : public RRTExt2, public RRTExt5, public RRTExt4 {
485         public:
486                 void init()
487                 {
488                         RRTExt2::init();
489                         RRTExt4::init();
490                 }
491                 void deinit()
492                 {
493                         RRTExt2::deinit();
494                         RRTExt4::deinit();
495                 }
496 };
497 class RRTCE4 : public RRTExt1, public RRTExt2, public RRTExt4 {
498         public:
499                 void init()
500                 {
501                         RRTExt2::init();
502                         RRTExt4::init();
503                 }
504                 void deinit()
505                 {
506                         RRTExt2::deinit();
507                         RRTExt4::deinit();
508                 }
509 };
510 class RRTCE3 : public RRTExt2, public RRTExt6 {};
511 class RRTCE2 : public RRTExt2, public RRTExt5 {};
512 class RRTCE1 : public RRTExt1, public RRTExt2 {};
513
514 #endif /* RRTCE_H */