2#include <ossia/network/dataspace/dataspace.hpp>
3#include <ossia/network/dataspace/value_with_unit.hpp>
6template <
typename Functor>
7auto apply(Functor&& functor,
const strong_value_variant& arg0,
const unit_variant& arg1)
11 case strong_value_variant::Type::Type0: {
14 case unit_variant::Type::Type0: {
15 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
17 case unit_variant::Type::Type1: {
18 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
20 case unit_variant::Type::Type2: {
21 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
23 case unit_variant::Type::Type3: {
24 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
26 case unit_variant::Type::Type4: {
27 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
29 case unit_variant::Type::Type5: {
30 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
32 case unit_variant::Type::Type6: {
33 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
35 case unit_variant::Type::Type7: {
36 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
39 ossia_do_throw(std::runtime_error,
": bad type");
42 case strong_value_variant::Type::Type1: {
45 case unit_variant::Type::Type0: {
46 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
48 case unit_variant::Type::Type1: {
49 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
51 case unit_variant::Type::Type2: {
52 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
54 case unit_variant::Type::Type3: {
55 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
57 case unit_variant::Type::Type4: {
58 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
60 case unit_variant::Type::Type5: {
61 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
63 case unit_variant::Type::Type6: {
64 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
66 case unit_variant::Type::Type7: {
67 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
70 ossia_do_throw(std::runtime_error,
": bad type");
73 case strong_value_variant::Type::Type2: {
76 case unit_variant::Type::Type0: {
77 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
79 case unit_variant::Type::Type1: {
80 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
82 case unit_variant::Type::Type2: {
83 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
85 case unit_variant::Type::Type3: {
86 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
88 case unit_variant::Type::Type4: {
89 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
91 case unit_variant::Type::Type5: {
92 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
94 case unit_variant::Type::Type6: {
95 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
97 case unit_variant::Type::Type7: {
98 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
101 ossia_do_throw(std::runtime_error,
": bad type");
104 case strong_value_variant::Type::Type3: {
107 case unit_variant::Type::Type0: {
108 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
110 case unit_variant::Type::Type1: {
111 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
113 case unit_variant::Type::Type2: {
114 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
116 case unit_variant::Type::Type3: {
117 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
119 case unit_variant::Type::Type4: {
120 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
122 case unit_variant::Type::Type5: {
123 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
125 case unit_variant::Type::Type6: {
126 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
128 case unit_variant::Type::Type7: {
129 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
132 ossia_do_throw(std::runtime_error,
": bad type");
135 case strong_value_variant::Type::Type4: {
138 case unit_variant::Type::Type0: {
139 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
141 case unit_variant::Type::Type1: {
142 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
144 case unit_variant::Type::Type2: {
145 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
147 case unit_variant::Type::Type3: {
148 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
150 case unit_variant::Type::Type4: {
151 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
153 case unit_variant::Type::Type5: {
154 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
156 case unit_variant::Type::Type6: {
157 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
159 case unit_variant::Type::Type7: {
160 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
163 ossia_do_throw(std::runtime_error,
": bad type");
166 case strong_value_variant::Type::Type5: {
169 case unit_variant::Type::Type0: {
170 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
172 case unit_variant::Type::Type1: {
173 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
175 case unit_variant::Type::Type2: {
176 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
178 case unit_variant::Type::Type3: {
179 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
181 case unit_variant::Type::Type4: {
182 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
184 case unit_variant::Type::Type5: {
185 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
187 case unit_variant::Type::Type6: {
188 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
190 case unit_variant::Type::Type7: {
191 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
194 ossia_do_throw(std::runtime_error,
": bad type");
197 case strong_value_variant::Type::Type6: {
200 case unit_variant::Type::Type0: {
201 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
203 case unit_variant::Type::Type1: {
204 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
206 case unit_variant::Type::Type2: {
207 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
209 case unit_variant::Type::Type3: {
210 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
212 case unit_variant::Type::Type4: {
213 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
215 case unit_variant::Type::Type5: {
216 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
218 case unit_variant::Type::Type6: {
219 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
221 case unit_variant::Type::Type7: {
222 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
225 ossia_do_throw(std::runtime_error,
": bad type");
228 case strong_value_variant::Type::Type7: {
231 case unit_variant::Type::Type0: {
232 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
234 case unit_variant::Type::Type1: {
235 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
237 case unit_variant::Type::Type2: {
238 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
240 case unit_variant::Type::Type3: {
241 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
243 case unit_variant::Type::Type4: {
244 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
246 case unit_variant::Type::Type5: {
247 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
249 case unit_variant::Type::Type6: {
250 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
252 case unit_variant::Type::Type7: {
253 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
256 ossia_do_throw(std::runtime_error,
": bad type");
259 case strong_value_variant::Type::Type8: {
262 case unit_variant::Type::Type0: {
263 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
265 case unit_variant::Type::Type1: {
266 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
268 case unit_variant::Type::Type2: {
269 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
271 case unit_variant::Type::Type3: {
272 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
274 case unit_variant::Type::Type4: {
275 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
277 case unit_variant::Type::Type5: {
278 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
280 case unit_variant::Type::Type6: {
281 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
283 case unit_variant::Type::Type7: {
284 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
287 ossia_do_throw(std::runtime_error,
": bad type");
291 ossia_do_throw(std::runtime_error,
": bad type");
294template <
typename Functor>
295auto apply(Functor&& functor,
const value_variant_type& arg0,
const angle_u& arg1)
299 case value_variant_type::Type::Type0: {
302 case angle_u::Type::Type0: {
303 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
305 case angle_u::Type::Type1: {
306 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
309 ossia_do_throw(std::runtime_error,
": bad type");
312 case value_variant_type::Type::Type1: {
315 case angle_u::Type::Type0: {
316 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
318 case angle_u::Type::Type1: {
319 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
322 ossia_do_throw(std::runtime_error,
": bad type");
325 case value_variant_type::Type::Type2: {
328 case angle_u::Type::Type0: {
329 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
331 case angle_u::Type::Type1: {
332 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
335 ossia_do_throw(std::runtime_error,
": bad type");
338 case value_variant_type::Type::Type3: {
341 case angle_u::Type::Type0: {
342 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
344 case angle_u::Type::Type1: {
345 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
348 ossia_do_throw(std::runtime_error,
": bad type");
351 case value_variant_type::Type::Type4: {
354 case angle_u::Type::Type0: {
355 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
357 case angle_u::Type::Type1: {
358 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
361 ossia_do_throw(std::runtime_error,
": bad type");
364 case value_variant_type::Type::Type5: {
367 case angle_u::Type::Type0: {
368 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
370 case angle_u::Type::Type1: {
371 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
374 ossia_do_throw(std::runtime_error,
": bad type");
377 case value_variant_type::Type::Type6: {
380 case angle_u::Type::Type0: {
381 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
383 case angle_u::Type::Type1: {
384 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
387 ossia_do_throw(std::runtime_error,
": bad type");
390 case value_variant_type::Type::Type7: {
393 case angle_u::Type::Type0: {
394 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
396 case angle_u::Type::Type1: {
397 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
400 ossia_do_throw(std::runtime_error,
": bad type");
403 case value_variant_type::Type::Type8: {
406 case angle_u::Type::Type0: {
407 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
409 case angle_u::Type::Type1: {
410 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
413 ossia_do_throw(std::runtime_error,
": bad type");
416 case value_variant_type::Type::Type9: {
419 case angle_u::Type::Type0: {
420 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
422 case angle_u::Type::Type1: {
423 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
426 ossia_do_throw(std::runtime_error,
": bad type");
430 ossia_do_throw(std::runtime_error,
": bad type");
433template <
typename Functor>
434auto apply(Functor&& functor,
const value_variant_type& arg0,
const color_u& arg1)
438 case value_variant_type::Type::Type0: {
441 case color_u::Type::Type0: {
442 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
444 case color_u::Type::Type1: {
445 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
447 case color_u::Type::Type2: {
448 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
450 case color_u::Type::Type3: {
451 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
453 case color_u::Type::Type4: {
454 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
456 case color_u::Type::Type5: {
457 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
459 case color_u::Type::Type6: {
460 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
462 case color_u::Type::Type7: {
463 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
465 case color_u::Type::Type8: {
466 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
469 ossia_do_throw(std::runtime_error,
": bad type");
472 case value_variant_type::Type::Type1: {
475 case color_u::Type::Type0: {
476 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
478 case color_u::Type::Type1: {
479 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
481 case color_u::Type::Type2: {
482 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
484 case color_u::Type::Type3: {
485 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
487 case color_u::Type::Type4: {
488 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
490 case color_u::Type::Type5: {
491 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
493 case color_u::Type::Type6: {
494 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
496 case color_u::Type::Type7: {
497 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
499 case color_u::Type::Type8: {
500 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
503 ossia_do_throw(std::runtime_error,
": bad type");
506 case value_variant_type::Type::Type2: {
509 case color_u::Type::Type0: {
510 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
512 case color_u::Type::Type1: {
513 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
515 case color_u::Type::Type2: {
516 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
518 case color_u::Type::Type3: {
519 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
521 case color_u::Type::Type4: {
522 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
524 case color_u::Type::Type5: {
525 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
527 case color_u::Type::Type6: {
528 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
530 case color_u::Type::Type7: {
531 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
533 case color_u::Type::Type8: {
534 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
537 ossia_do_throw(std::runtime_error,
": bad type");
540 case value_variant_type::Type::Type3: {
543 case color_u::Type::Type0: {
544 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
546 case color_u::Type::Type1: {
547 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
549 case color_u::Type::Type2: {
550 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
552 case color_u::Type::Type3: {
553 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
555 case color_u::Type::Type4: {
556 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
558 case color_u::Type::Type5: {
559 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
561 case color_u::Type::Type6: {
562 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
564 case color_u::Type::Type7: {
565 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
567 case color_u::Type::Type8: {
568 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
571 ossia_do_throw(std::runtime_error,
": bad type");
574 case value_variant_type::Type::Type4: {
577 case color_u::Type::Type0: {
578 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
580 case color_u::Type::Type1: {
581 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
583 case color_u::Type::Type2: {
584 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
586 case color_u::Type::Type3: {
587 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
589 case color_u::Type::Type4: {
590 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
592 case color_u::Type::Type5: {
593 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
595 case color_u::Type::Type6: {
596 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
598 case color_u::Type::Type7: {
599 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
601 case color_u::Type::Type8: {
602 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
605 ossia_do_throw(std::runtime_error,
": bad type");
608 case value_variant_type::Type::Type5: {
611 case color_u::Type::Type0: {
612 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
614 case color_u::Type::Type1: {
615 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
617 case color_u::Type::Type2: {
618 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
620 case color_u::Type::Type3: {
621 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
623 case color_u::Type::Type4: {
624 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
626 case color_u::Type::Type5: {
627 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
629 case color_u::Type::Type6: {
630 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
632 case color_u::Type::Type7: {
633 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
635 case color_u::Type::Type8: {
636 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
639 ossia_do_throw(std::runtime_error,
": bad type");
642 case value_variant_type::Type::Type6: {
645 case color_u::Type::Type0: {
646 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
648 case color_u::Type::Type1: {
649 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
651 case color_u::Type::Type2: {
652 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
654 case color_u::Type::Type3: {
655 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
657 case color_u::Type::Type4: {
658 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
660 case color_u::Type::Type5: {
661 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
663 case color_u::Type::Type6: {
664 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
666 case color_u::Type::Type7: {
667 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
669 case color_u::Type::Type8: {
670 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
673 ossia_do_throw(std::runtime_error,
": bad type");
676 case value_variant_type::Type::Type7: {
679 case color_u::Type::Type0: {
680 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
682 case color_u::Type::Type1: {
683 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
685 case color_u::Type::Type2: {
686 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
688 case color_u::Type::Type3: {
689 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
691 case color_u::Type::Type4: {
692 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
694 case color_u::Type::Type5: {
695 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
697 case color_u::Type::Type6: {
698 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
700 case color_u::Type::Type7: {
701 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
703 case color_u::Type::Type8: {
704 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
707 ossia_do_throw(std::runtime_error,
": bad type");
710 case value_variant_type::Type::Type8: {
713 case color_u::Type::Type0: {
714 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
716 case color_u::Type::Type1: {
717 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
719 case color_u::Type::Type2: {
720 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
722 case color_u::Type::Type3: {
723 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
725 case color_u::Type::Type4: {
726 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
728 case color_u::Type::Type5: {
729 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
731 case color_u::Type::Type6: {
732 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
734 case color_u::Type::Type7: {
735 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
737 case color_u::Type::Type8: {
738 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
741 ossia_do_throw(std::runtime_error,
": bad type");
744 case value_variant_type::Type::Type9: {
747 case color_u::Type::Type0: {
748 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
750 case color_u::Type::Type1: {
751 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
753 case color_u::Type::Type2: {
754 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
756 case color_u::Type::Type3: {
757 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value3);
759 case color_u::Type::Type4: {
760 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value4);
762 case color_u::Type::Type5: {
763 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value5);
765 case color_u::Type::Type6: {
766 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value6);
768 case color_u::Type::Type7: {
769 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value7);
771 case color_u::Type::Type8: {
772 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value8);
775 ossia_do_throw(std::runtime_error,
": bad type");
779 ossia_do_throw(std::runtime_error,
": bad type");
782template <
typename Functor>
783auto apply(Functor&& functor,
const value_variant_type& arg0,
const distance_u& arg1)
787 case value_variant_type::Type::Type0: {
790 case distance_u::Type::Type0: {
791 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
793 case distance_u::Type::Type1: {
794 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
796 case distance_u::Type::Type2: {
797 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
799 case distance_u::Type::Type3: {
800 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
802 case distance_u::Type::Type4: {
803 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
805 case distance_u::Type::Type5: {
806 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
808 case distance_u::Type::Type6: {
809 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
811 case distance_u::Type::Type7: {
812 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
814 case distance_u::Type::Type8: {
815 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
817 case distance_u::Type::Type9: {
818 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
820 case distance_u::Type::Type10: {
821 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value10);
824 ossia_do_throw(std::runtime_error,
": bad type");
827 case value_variant_type::Type::Type1: {
830 case distance_u::Type::Type0: {
831 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
833 case distance_u::Type::Type1: {
834 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
836 case distance_u::Type::Type2: {
837 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
839 case distance_u::Type::Type3: {
840 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
842 case distance_u::Type::Type4: {
843 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
845 case distance_u::Type::Type5: {
846 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
848 case distance_u::Type::Type6: {
849 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
851 case distance_u::Type::Type7: {
852 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
854 case distance_u::Type::Type8: {
855 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
857 case distance_u::Type::Type9: {
858 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
860 case distance_u::Type::Type10: {
861 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value10);
864 ossia_do_throw(std::runtime_error,
": bad type");
867 case value_variant_type::Type::Type2: {
870 case distance_u::Type::Type0: {
871 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
873 case distance_u::Type::Type1: {
874 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
876 case distance_u::Type::Type2: {
877 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
879 case distance_u::Type::Type3: {
880 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
882 case distance_u::Type::Type4: {
883 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
885 case distance_u::Type::Type5: {
886 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
888 case distance_u::Type::Type6: {
889 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
891 case distance_u::Type::Type7: {
892 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
894 case distance_u::Type::Type8: {
895 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
897 case distance_u::Type::Type9: {
898 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
900 case distance_u::Type::Type10: {
901 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value10);
904 ossia_do_throw(std::runtime_error,
": bad type");
907 case value_variant_type::Type::Type3: {
910 case distance_u::Type::Type0: {
911 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
913 case distance_u::Type::Type1: {
914 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
916 case distance_u::Type::Type2: {
917 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
919 case distance_u::Type::Type3: {
920 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
922 case distance_u::Type::Type4: {
923 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
925 case distance_u::Type::Type5: {
926 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
928 case distance_u::Type::Type6: {
929 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
931 case distance_u::Type::Type7: {
932 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
934 case distance_u::Type::Type8: {
935 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
937 case distance_u::Type::Type9: {
938 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value9);
940 case distance_u::Type::Type10: {
941 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value10);
944 ossia_do_throw(std::runtime_error,
": bad type");
947 case value_variant_type::Type::Type4: {
950 case distance_u::Type::Type0: {
951 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
953 case distance_u::Type::Type1: {
954 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
956 case distance_u::Type::Type2: {
957 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
959 case distance_u::Type::Type3: {
960 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
962 case distance_u::Type::Type4: {
963 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
965 case distance_u::Type::Type5: {
966 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
968 case distance_u::Type::Type6: {
969 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
971 case distance_u::Type::Type7: {
972 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
974 case distance_u::Type::Type8: {
975 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
977 case distance_u::Type::Type9: {
978 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value9);
980 case distance_u::Type::Type10: {
981 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value10);
984 ossia_do_throw(std::runtime_error,
": bad type");
987 case value_variant_type::Type::Type5: {
990 case distance_u::Type::Type0: {
991 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
993 case distance_u::Type::Type1: {
994 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
996 case distance_u::Type::Type2: {
997 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
999 case distance_u::Type::Type3: {
1000 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
1002 case distance_u::Type::Type4: {
1003 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
1005 case distance_u::Type::Type5: {
1006 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
1008 case distance_u::Type::Type6: {
1009 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
1011 case distance_u::Type::Type7: {
1012 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
1014 case distance_u::Type::Type8: {
1015 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
1017 case distance_u::Type::Type9: {
1018 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value9);
1020 case distance_u::Type::Type10: {
1021 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value10);
1024 ossia_do_throw(std::runtime_error,
": bad type");
1027 case value_variant_type::Type::Type6: {
1030 case distance_u::Type::Type0: {
1031 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
1033 case distance_u::Type::Type1: {
1034 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
1036 case distance_u::Type::Type2: {
1037 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
1039 case distance_u::Type::Type3: {
1040 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
1042 case distance_u::Type::Type4: {
1043 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
1045 case distance_u::Type::Type5: {
1046 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
1048 case distance_u::Type::Type6: {
1049 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
1051 case distance_u::Type::Type7: {
1052 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
1054 case distance_u::Type::Type8: {
1055 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
1057 case distance_u::Type::Type9: {
1058 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value9);
1060 case distance_u::Type::Type10: {
1061 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value10);
1064 ossia_do_throw(std::runtime_error,
": bad type");
1067 case value_variant_type::Type::Type7: {
1070 case distance_u::Type::Type0: {
1071 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
1073 case distance_u::Type::Type1: {
1074 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
1076 case distance_u::Type::Type2: {
1077 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
1079 case distance_u::Type::Type3: {
1080 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
1082 case distance_u::Type::Type4: {
1083 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
1085 case distance_u::Type::Type5: {
1086 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
1088 case distance_u::Type::Type6: {
1089 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
1091 case distance_u::Type::Type7: {
1092 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
1094 case distance_u::Type::Type8: {
1095 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
1097 case distance_u::Type::Type9: {
1098 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value9);
1100 case distance_u::Type::Type10: {
1101 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value10);
1104 ossia_do_throw(std::runtime_error,
": bad type");
1107 case value_variant_type::Type::Type8: {
1110 case distance_u::Type::Type0: {
1111 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
1113 case distance_u::Type::Type1: {
1114 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
1116 case distance_u::Type::Type2: {
1117 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
1119 case distance_u::Type::Type3: {
1120 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
1122 case distance_u::Type::Type4: {
1123 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
1125 case distance_u::Type::Type5: {
1126 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
1128 case distance_u::Type::Type6: {
1129 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
1131 case distance_u::Type::Type7: {
1132 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
1134 case distance_u::Type::Type8: {
1135 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
1137 case distance_u::Type::Type9: {
1138 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value9);
1140 case distance_u::Type::Type10: {
1141 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value10);
1144 ossia_do_throw(std::runtime_error,
": bad type");
1147 case value_variant_type::Type::Type9: {
1150 case distance_u::Type::Type0: {
1151 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
1153 case distance_u::Type::Type1: {
1154 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
1156 case distance_u::Type::Type2: {
1157 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
1159 case distance_u::Type::Type3: {
1160 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value3);
1162 case distance_u::Type::Type4: {
1163 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value4);
1165 case distance_u::Type::Type5: {
1166 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value5);
1168 case distance_u::Type::Type6: {
1169 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value6);
1171 case distance_u::Type::Type7: {
1172 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value7);
1174 case distance_u::Type::Type8: {
1175 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value8);
1177 case distance_u::Type::Type9: {
1178 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value9);
1180 case distance_u::Type::Type10: {
1181 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value10);
1184 ossia_do_throw(std::runtime_error,
": bad type");
1188 ossia_do_throw(std::runtime_error,
": bad type");
1191template <
typename Functor>
1192auto apply(Functor&& functor,
const value_variant_type& arg0,
const gain_u& arg1)
1196 case value_variant_type::Type::Type0: {
1199 case gain_u::Type::Type0: {
1200 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
1202 case gain_u::Type::Type1: {
1203 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
1205 case gain_u::Type::Type2: {
1206 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
1208 case gain_u::Type::Type3: {
1209 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
1212 ossia_do_throw(std::runtime_error,
": bad type");
1215 case value_variant_type::Type::Type1: {
1218 case gain_u::Type::Type0: {
1219 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
1221 case gain_u::Type::Type1: {
1222 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
1224 case gain_u::Type::Type2: {
1225 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
1227 case gain_u::Type::Type3: {
1228 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
1231 ossia_do_throw(std::runtime_error,
": bad type");
1234 case value_variant_type::Type::Type2: {
1237 case gain_u::Type::Type0: {
1238 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
1240 case gain_u::Type::Type1: {
1241 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
1243 case gain_u::Type::Type2: {
1244 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
1246 case gain_u::Type::Type3: {
1247 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
1250 ossia_do_throw(std::runtime_error,
": bad type");
1253 case value_variant_type::Type::Type3: {
1256 case gain_u::Type::Type0: {
1257 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
1259 case gain_u::Type::Type1: {
1260 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
1262 case gain_u::Type::Type2: {
1263 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
1265 case gain_u::Type::Type3: {
1266 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
1269 ossia_do_throw(std::runtime_error,
": bad type");
1272 case value_variant_type::Type::Type4: {
1275 case gain_u::Type::Type0: {
1276 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
1278 case gain_u::Type::Type1: {
1279 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
1281 case gain_u::Type::Type2: {
1282 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
1284 case gain_u::Type::Type3: {
1285 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
1288 ossia_do_throw(std::runtime_error,
": bad type");
1291 case value_variant_type::Type::Type5: {
1294 case gain_u::Type::Type0: {
1295 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
1297 case gain_u::Type::Type1: {
1298 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
1300 case gain_u::Type::Type2: {
1301 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
1303 case gain_u::Type::Type3: {
1304 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
1307 ossia_do_throw(std::runtime_error,
": bad type");
1310 case value_variant_type::Type::Type6: {
1313 case gain_u::Type::Type0: {
1314 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
1316 case gain_u::Type::Type1: {
1317 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
1319 case gain_u::Type::Type2: {
1320 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
1322 case gain_u::Type::Type3: {
1323 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
1326 ossia_do_throw(std::runtime_error,
": bad type");
1329 case value_variant_type::Type::Type7: {
1332 case gain_u::Type::Type0: {
1333 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
1335 case gain_u::Type::Type1: {
1336 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
1338 case gain_u::Type::Type2: {
1339 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
1341 case gain_u::Type::Type3: {
1342 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
1345 ossia_do_throw(std::runtime_error,
": bad type");
1348 case value_variant_type::Type::Type8: {
1351 case gain_u::Type::Type0: {
1352 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
1354 case gain_u::Type::Type1: {
1355 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
1357 case gain_u::Type::Type2: {
1358 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
1360 case gain_u::Type::Type3: {
1361 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
1364 ossia_do_throw(std::runtime_error,
": bad type");
1367 case value_variant_type::Type::Type9: {
1370 case gain_u::Type::Type0: {
1371 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
1373 case gain_u::Type::Type1: {
1374 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
1376 case gain_u::Type::Type2: {
1377 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
1379 case gain_u::Type::Type3: {
1380 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value3);
1383 ossia_do_throw(std::runtime_error,
": bad type");
1387 ossia_do_throw(std::runtime_error,
": bad type");
1390template <
typename Functor>
1391auto apply(Functor&& functor,
const value_variant_type& arg0,
const orientation_u& arg1)
1395 case value_variant_type::Type::Type0: {
1398 case orientation_u::Type::Type0: {
1399 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
1401 case orientation_u::Type::Type1: {
1402 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
1404 case orientation_u::Type::Type2: {
1405 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
1408 ossia_do_throw(std::runtime_error,
": bad type");
1411 case value_variant_type::Type::Type1: {
1414 case orientation_u::Type::Type0: {
1415 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
1417 case orientation_u::Type::Type1: {
1418 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
1420 case orientation_u::Type::Type2: {
1421 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
1424 ossia_do_throw(std::runtime_error,
": bad type");
1427 case value_variant_type::Type::Type2: {
1430 case orientation_u::Type::Type0: {
1431 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
1433 case orientation_u::Type::Type1: {
1434 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
1436 case orientation_u::Type::Type2: {
1437 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
1440 ossia_do_throw(std::runtime_error,
": bad type");
1443 case value_variant_type::Type::Type3: {
1446 case orientation_u::Type::Type0: {
1447 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
1449 case orientation_u::Type::Type1: {
1450 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
1452 case orientation_u::Type::Type2: {
1453 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
1456 ossia_do_throw(std::runtime_error,
": bad type");
1459 case value_variant_type::Type::Type4: {
1462 case orientation_u::Type::Type0: {
1463 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
1465 case orientation_u::Type::Type1: {
1466 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
1468 case orientation_u::Type::Type2: {
1469 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
1472 ossia_do_throw(std::runtime_error,
": bad type");
1475 case value_variant_type::Type::Type5: {
1478 case orientation_u::Type::Type0: {
1479 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
1481 case orientation_u::Type::Type1: {
1482 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
1484 case orientation_u::Type::Type2: {
1485 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
1488 ossia_do_throw(std::runtime_error,
": bad type");
1491 case value_variant_type::Type::Type6: {
1494 case orientation_u::Type::Type0: {
1495 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
1497 case orientation_u::Type::Type1: {
1498 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
1500 case orientation_u::Type::Type2: {
1501 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
1504 ossia_do_throw(std::runtime_error,
": bad type");
1507 case value_variant_type::Type::Type7: {
1510 case orientation_u::Type::Type0: {
1511 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
1513 case orientation_u::Type::Type1: {
1514 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
1516 case orientation_u::Type::Type2: {
1517 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
1520 ossia_do_throw(std::runtime_error,
": bad type");
1523 case value_variant_type::Type::Type8: {
1526 case orientation_u::Type::Type0: {
1527 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
1529 case orientation_u::Type::Type1: {
1530 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
1532 case orientation_u::Type::Type2: {
1533 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
1536 ossia_do_throw(std::runtime_error,
": bad type");
1539 case value_variant_type::Type::Type9: {
1542 case orientation_u::Type::Type0: {
1543 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
1545 case orientation_u::Type::Type1: {
1546 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
1548 case orientation_u::Type::Type2: {
1549 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
1552 ossia_do_throw(std::runtime_error,
": bad type");
1556 ossia_do_throw(std::runtime_error,
": bad type");
1559template <
typename Functor>
1560auto apply(Functor&& functor,
const value_variant_type& arg0,
const position_u& arg1)
1564 case value_variant_type::Type::Type0: {
1567 case position_u::Type::Type0: {
1568 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
1570 case position_u::Type::Type1: {
1571 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
1573 case position_u::Type::Type2: {
1574 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
1576 case position_u::Type::Type3: {
1577 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
1579 case position_u::Type::Type4: {
1580 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
1582 case position_u::Type::Type5: {
1583 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
1585 case position_u::Type::Type6: {
1586 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
1588 case position_u::Type::Type7: {
1589 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
1591 case position_u::Type::Type8: {
1592 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
1595 ossia_do_throw(std::runtime_error,
": bad type");
1598 case value_variant_type::Type::Type1: {
1601 case position_u::Type::Type0: {
1602 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
1604 case position_u::Type::Type1: {
1605 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
1607 case position_u::Type::Type2: {
1608 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
1610 case position_u::Type::Type3: {
1611 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
1613 case position_u::Type::Type4: {
1614 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
1616 case position_u::Type::Type5: {
1617 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
1619 case position_u::Type::Type6: {
1620 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
1622 case position_u::Type::Type7: {
1623 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
1625 case position_u::Type::Type8: {
1626 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
1629 ossia_do_throw(std::runtime_error,
": bad type");
1632 case value_variant_type::Type::Type2: {
1635 case position_u::Type::Type0: {
1636 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
1638 case position_u::Type::Type1: {
1639 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
1641 case position_u::Type::Type2: {
1642 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
1644 case position_u::Type::Type3: {
1645 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
1647 case position_u::Type::Type4: {
1648 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
1650 case position_u::Type::Type5: {
1651 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
1653 case position_u::Type::Type6: {
1654 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
1656 case position_u::Type::Type7: {
1657 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
1659 case position_u::Type::Type8: {
1660 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
1663 ossia_do_throw(std::runtime_error,
": bad type");
1666 case value_variant_type::Type::Type3: {
1669 case position_u::Type::Type0: {
1670 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
1672 case position_u::Type::Type1: {
1673 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
1675 case position_u::Type::Type2: {
1676 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
1678 case position_u::Type::Type3: {
1679 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
1681 case position_u::Type::Type4: {
1682 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
1684 case position_u::Type::Type5: {
1685 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
1687 case position_u::Type::Type6: {
1688 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
1690 case position_u::Type::Type7: {
1691 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
1693 case position_u::Type::Type8: {
1694 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
1697 ossia_do_throw(std::runtime_error,
": bad type");
1700 case value_variant_type::Type::Type4: {
1703 case position_u::Type::Type0: {
1704 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
1706 case position_u::Type::Type1: {
1707 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
1709 case position_u::Type::Type2: {
1710 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
1712 case position_u::Type::Type3: {
1713 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
1715 case position_u::Type::Type4: {
1716 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
1718 case position_u::Type::Type5: {
1719 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
1721 case position_u::Type::Type6: {
1722 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
1724 case position_u::Type::Type7: {
1725 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
1727 case position_u::Type::Type8: {
1728 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
1731 ossia_do_throw(std::runtime_error,
": bad type");
1734 case value_variant_type::Type::Type5: {
1737 case position_u::Type::Type0: {
1738 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
1740 case position_u::Type::Type1: {
1741 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
1743 case position_u::Type::Type2: {
1744 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
1746 case position_u::Type::Type3: {
1747 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
1749 case position_u::Type::Type4: {
1750 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
1752 case position_u::Type::Type5: {
1753 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
1755 case position_u::Type::Type6: {
1756 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
1758 case position_u::Type::Type7: {
1759 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
1761 case position_u::Type::Type8: {
1762 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
1765 ossia_do_throw(std::runtime_error,
": bad type");
1768 case value_variant_type::Type::Type6: {
1771 case position_u::Type::Type0: {
1772 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
1774 case position_u::Type::Type1: {
1775 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
1777 case position_u::Type::Type2: {
1778 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
1780 case position_u::Type::Type3: {
1781 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
1783 case position_u::Type::Type4: {
1784 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
1786 case position_u::Type::Type5: {
1787 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
1789 case position_u::Type::Type6: {
1790 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
1792 case position_u::Type::Type7: {
1793 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
1795 case position_u::Type::Type8: {
1796 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
1799 ossia_do_throw(std::runtime_error,
": bad type");
1802 case value_variant_type::Type::Type7: {
1805 case position_u::Type::Type0: {
1806 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
1808 case position_u::Type::Type1: {
1809 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
1811 case position_u::Type::Type2: {
1812 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
1814 case position_u::Type::Type3: {
1815 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
1817 case position_u::Type::Type4: {
1818 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
1820 case position_u::Type::Type5: {
1821 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
1823 case position_u::Type::Type6: {
1824 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
1826 case position_u::Type::Type7: {
1827 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
1829 case position_u::Type::Type8: {
1830 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
1833 ossia_do_throw(std::runtime_error,
": bad type");
1836 case value_variant_type::Type::Type8: {
1839 case position_u::Type::Type0: {
1840 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
1842 case position_u::Type::Type1: {
1843 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
1845 case position_u::Type::Type2: {
1846 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
1848 case position_u::Type::Type3: {
1849 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
1851 case position_u::Type::Type4: {
1852 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
1854 case position_u::Type::Type5: {
1855 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
1857 case position_u::Type::Type6: {
1858 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
1860 case position_u::Type::Type7: {
1861 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
1863 case position_u::Type::Type8: {
1864 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
1867 ossia_do_throw(std::runtime_error,
": bad type");
1871 ossia_do_throw(std::runtime_error,
": bad type");
1874template <
typename Functor>
1875auto apply(Functor&& functor,
const value_variant_type& arg0,
const speed_u& arg1)
1879 case value_variant_type::Type::Type0: {
1882 case speed_u::Type::Type0: {
1883 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
1885 case speed_u::Type::Type1: {
1886 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
1888 case speed_u::Type::Type2: {
1889 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
1891 case speed_u::Type::Type3: {
1892 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
1894 case speed_u::Type::Type4: {
1895 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
1897 case speed_u::Type::Type5: {
1898 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
1901 ossia_do_throw(std::runtime_error,
": bad type");
1904 case value_variant_type::Type::Type1: {
1907 case speed_u::Type::Type0: {
1908 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
1910 case speed_u::Type::Type1: {
1911 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
1913 case speed_u::Type::Type2: {
1914 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
1916 case speed_u::Type::Type3: {
1917 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
1919 case speed_u::Type::Type4: {
1920 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
1922 case speed_u::Type::Type5: {
1923 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
1926 ossia_do_throw(std::runtime_error,
": bad type");
1929 case value_variant_type::Type::Type2: {
1932 case speed_u::Type::Type0: {
1933 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
1935 case speed_u::Type::Type1: {
1936 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
1938 case speed_u::Type::Type2: {
1939 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
1941 case speed_u::Type::Type3: {
1942 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
1944 case speed_u::Type::Type4: {
1945 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
1947 case speed_u::Type::Type5: {
1948 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
1951 ossia_do_throw(std::runtime_error,
": bad type");
1954 case value_variant_type::Type::Type3: {
1957 case speed_u::Type::Type0: {
1958 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
1960 case speed_u::Type::Type1: {
1961 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
1963 case speed_u::Type::Type2: {
1964 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
1966 case speed_u::Type::Type3: {
1967 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
1969 case speed_u::Type::Type4: {
1970 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
1972 case speed_u::Type::Type5: {
1973 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
1976 ossia_do_throw(std::runtime_error,
": bad type");
1979 case value_variant_type::Type::Type4: {
1982 case speed_u::Type::Type0: {
1983 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
1985 case speed_u::Type::Type1: {
1986 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
1988 case speed_u::Type::Type2: {
1989 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
1991 case speed_u::Type::Type3: {
1992 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
1994 case speed_u::Type::Type4: {
1995 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
1997 case speed_u::Type::Type5: {
1998 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
2001 ossia_do_throw(std::runtime_error,
": bad type");
2004 case value_variant_type::Type::Type5: {
2007 case speed_u::Type::Type0: {
2008 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
2010 case speed_u::Type::Type1: {
2011 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
2013 case speed_u::Type::Type2: {
2014 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
2016 case speed_u::Type::Type3: {
2017 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
2019 case speed_u::Type::Type4: {
2020 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
2022 case speed_u::Type::Type5: {
2023 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
2026 ossia_do_throw(std::runtime_error,
": bad type");
2029 case value_variant_type::Type::Type6: {
2032 case speed_u::Type::Type0: {
2033 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
2035 case speed_u::Type::Type1: {
2036 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
2038 case speed_u::Type::Type2: {
2039 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
2041 case speed_u::Type::Type3: {
2042 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
2044 case speed_u::Type::Type4: {
2045 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
2047 case speed_u::Type::Type5: {
2048 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
2051 ossia_do_throw(std::runtime_error,
": bad type");
2054 case value_variant_type::Type::Type7: {
2057 case speed_u::Type::Type0: {
2058 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
2060 case speed_u::Type::Type1: {
2061 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
2063 case speed_u::Type::Type2: {
2064 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
2066 case speed_u::Type::Type3: {
2067 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
2069 case speed_u::Type::Type4: {
2070 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
2072 case speed_u::Type::Type5: {
2073 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
2076 ossia_do_throw(std::runtime_error,
": bad type");
2079 case value_variant_type::Type::Type8: {
2082 case speed_u::Type::Type0: {
2083 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
2085 case speed_u::Type::Type1: {
2086 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
2088 case speed_u::Type::Type2: {
2089 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
2091 case speed_u::Type::Type3: {
2092 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
2094 case speed_u::Type::Type4: {
2095 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
2097 case speed_u::Type::Type5: {
2098 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
2101 ossia_do_throw(std::runtime_error,
": bad type");
2104 case value_variant_type::Type::Type9: {
2107 case speed_u::Type::Type0: {
2108 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
2110 case speed_u::Type::Type1: {
2111 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
2113 case speed_u::Type::Type2: {
2114 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
2116 case speed_u::Type::Type3: {
2117 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value3);
2119 case speed_u::Type::Type4: {
2120 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value4);
2122 case speed_u::Type::Type5: {
2123 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value5);
2126 ossia_do_throw(std::runtime_error,
": bad type");
2130 ossia_do_throw(std::runtime_error,
": bad type");
2133template <
typename Functor>
2134auto apply(Functor&& functor,
const value_variant_type& arg0,
const timing_u& arg1)
2138 case value_variant_type::Type::Type0: {
2141 case timing_u::Type::Type0: {
2142 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
2144 case timing_u::Type::Type1: {
2145 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
2147 case timing_u::Type::Type2: {
2148 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
2150 case timing_u::Type::Type3: {
2151 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
2153 case timing_u::Type::Type4: {
2154 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
2156 case timing_u::Type::Type5: {
2157 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
2159 case timing_u::Type::Type6: {
2160 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
2162 case timing_u::Type::Type7: {
2163 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
2165 case timing_u::Type::Type8: {
2166 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
2169 ossia_do_throw(std::runtime_error,
": bad type");
2172 case value_variant_type::Type::Type1: {
2175 case timing_u::Type::Type0: {
2176 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
2178 case timing_u::Type::Type1: {
2179 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
2181 case timing_u::Type::Type2: {
2182 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
2184 case timing_u::Type::Type3: {
2185 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
2187 case timing_u::Type::Type4: {
2188 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
2190 case timing_u::Type::Type5: {
2191 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
2193 case timing_u::Type::Type6: {
2194 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
2196 case timing_u::Type::Type7: {
2197 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
2199 case timing_u::Type::Type8: {
2200 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
2203 ossia_do_throw(std::runtime_error,
": bad type");
2206 case value_variant_type::Type::Type2: {
2209 case timing_u::Type::Type0: {
2210 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
2212 case timing_u::Type::Type1: {
2213 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
2215 case timing_u::Type::Type2: {
2216 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
2218 case timing_u::Type::Type3: {
2219 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
2221 case timing_u::Type::Type4: {
2222 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
2224 case timing_u::Type::Type5: {
2225 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
2227 case timing_u::Type::Type6: {
2228 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
2230 case timing_u::Type::Type7: {
2231 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
2233 case timing_u::Type::Type8: {
2234 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
2237 ossia_do_throw(std::runtime_error,
": bad type");
2240 case value_variant_type::Type::Type3: {
2243 case timing_u::Type::Type0: {
2244 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
2246 case timing_u::Type::Type1: {
2247 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
2249 case timing_u::Type::Type2: {
2250 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
2252 case timing_u::Type::Type3: {
2253 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
2255 case timing_u::Type::Type4: {
2256 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
2258 case timing_u::Type::Type5: {
2259 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
2261 case timing_u::Type::Type6: {
2262 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
2264 case timing_u::Type::Type7: {
2265 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
2267 case timing_u::Type::Type8: {
2268 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
2271 ossia_do_throw(std::runtime_error,
": bad type");
2274 case value_variant_type::Type::Type4: {
2277 case timing_u::Type::Type0: {
2278 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
2280 case timing_u::Type::Type1: {
2281 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
2283 case timing_u::Type::Type2: {
2284 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
2286 case timing_u::Type::Type3: {
2287 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
2289 case timing_u::Type::Type4: {
2290 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
2292 case timing_u::Type::Type5: {
2293 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
2295 case timing_u::Type::Type6: {
2296 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
2298 case timing_u::Type::Type7: {
2299 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
2301 case timing_u::Type::Type8: {
2302 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
2305 ossia_do_throw(std::runtime_error,
": bad type");
2308 case value_variant_type::Type::Type5: {
2311 case timing_u::Type::Type0: {
2312 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
2314 case timing_u::Type::Type1: {
2315 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
2317 case timing_u::Type::Type2: {
2318 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
2320 case timing_u::Type::Type3: {
2321 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
2323 case timing_u::Type::Type4: {
2324 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
2326 case timing_u::Type::Type5: {
2327 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
2329 case timing_u::Type::Type6: {
2330 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
2332 case timing_u::Type::Type7: {
2333 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
2335 case timing_u::Type::Type8: {
2336 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
2339 ossia_do_throw(std::runtime_error,
": bad type");
2342 case value_variant_type::Type::Type6: {
2345 case timing_u::Type::Type0: {
2346 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
2348 case timing_u::Type::Type1: {
2349 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
2351 case timing_u::Type::Type2: {
2352 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
2354 case timing_u::Type::Type3: {
2355 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
2357 case timing_u::Type::Type4: {
2358 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
2360 case timing_u::Type::Type5: {
2361 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
2363 case timing_u::Type::Type6: {
2364 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
2366 case timing_u::Type::Type7: {
2367 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
2369 case timing_u::Type::Type8: {
2370 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
2373 ossia_do_throw(std::runtime_error,
": bad type");
2376 case value_variant_type::Type::Type7: {
2379 case timing_u::Type::Type0: {
2380 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
2382 case timing_u::Type::Type1: {
2383 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
2385 case timing_u::Type::Type2: {
2386 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
2388 case timing_u::Type::Type3: {
2389 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
2391 case timing_u::Type::Type4: {
2392 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
2394 case timing_u::Type::Type5: {
2395 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
2397 case timing_u::Type::Type6: {
2398 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
2400 case timing_u::Type::Type7: {
2401 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
2403 case timing_u::Type::Type8: {
2404 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
2407 ossia_do_throw(std::runtime_error,
": bad type");
2410 case value_variant_type::Type::Type8: {
2413 case timing_u::Type::Type0: {
2414 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
2416 case timing_u::Type::Type1: {
2417 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
2419 case timing_u::Type::Type2: {
2420 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
2422 case timing_u::Type::Type3: {
2423 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
2425 case timing_u::Type::Type4: {
2426 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
2428 case timing_u::Type::Type5: {
2429 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
2431 case timing_u::Type::Type6: {
2432 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
2434 case timing_u::Type::Type7: {
2435 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
2437 case timing_u::Type::Type8: {
2438 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
2441 ossia_do_throw(std::runtime_error,
": bad type");
2444 case value_variant_type::Type::Type9: {
2447 case timing_u::Type::Type0: {
2448 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
2450 case timing_u::Type::Type1: {
2451 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
2453 case timing_u::Type::Type2: {
2454 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
2456 case timing_u::Type::Type3: {
2457 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value3);
2459 case timing_u::Type::Type4: {
2460 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value4);
2462 case timing_u::Type::Type5: {
2463 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value5);
2465 case timing_u::Type::Type6: {
2466 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value6);
2468 case timing_u::Type::Type7: {
2469 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value7);
2471 case timing_u::Type::Type8: {
2472 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value8);
2475 ossia_do_throw(std::runtime_error,
": bad type");
2479 ossia_do_throw(std::runtime_error,
": bad type");
2482template <
typename Functor>
2483auto apply(Functor&& functor,
const angle& arg0,
const angle_u& arg1)
2487 case angle::Type::Type0: {
2490 case angle_u::Type::Type0: {
2491 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
2493 case angle_u::Type::Type1: {
2494 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
2497 ossia_do_throw(std::runtime_error,
": bad type");
2500 case angle::Type::Type1: {
2503 case angle_u::Type::Type0: {
2504 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
2506 case angle_u::Type::Type1: {
2507 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
2510 ossia_do_throw(std::runtime_error,
": bad type");
2514 ossia_do_throw(std::runtime_error,
": bad type");
2517template <
typename Functor>
2518auto apply(Functor&& functor,
const color& arg0,
const color_u& arg1)
2522 case color::Type::Type0: {
2525 case color_u::Type::Type0: {
2526 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
2528 case color_u::Type::Type1: {
2529 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
2531 case color_u::Type::Type2: {
2532 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
2534 case color_u::Type::Type3: {
2535 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
2537 case color_u::Type::Type4: {
2538 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
2540 case color_u::Type::Type5: {
2541 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
2543 case color_u::Type::Type6: {
2544 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
2546 case color_u::Type::Type7: {
2547 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
2549 case color_u::Type::Type8: {
2550 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
2553 ossia_do_throw(std::runtime_error,
": bad type");
2556 case color::Type::Type1: {
2559 case color_u::Type::Type0: {
2560 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
2562 case color_u::Type::Type1: {
2563 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
2565 case color_u::Type::Type2: {
2566 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
2568 case color_u::Type::Type3: {
2569 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
2571 case color_u::Type::Type4: {
2572 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
2574 case color_u::Type::Type5: {
2575 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
2577 case color_u::Type::Type6: {
2578 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
2580 case color_u::Type::Type7: {
2581 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
2583 case color_u::Type::Type8: {
2584 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
2587 ossia_do_throw(std::runtime_error,
": bad type");
2590 case color::Type::Type2: {
2593 case color_u::Type::Type0: {
2594 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
2596 case color_u::Type::Type1: {
2597 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
2599 case color_u::Type::Type2: {
2600 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
2602 case color_u::Type::Type3: {
2603 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
2605 case color_u::Type::Type4: {
2606 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
2608 case color_u::Type::Type5: {
2609 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
2611 case color_u::Type::Type6: {
2612 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
2614 case color_u::Type::Type7: {
2615 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
2617 case color_u::Type::Type8: {
2618 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
2621 ossia_do_throw(std::runtime_error,
": bad type");
2624 case color::Type::Type3: {
2627 case color_u::Type::Type0: {
2628 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
2630 case color_u::Type::Type1: {
2631 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
2633 case color_u::Type::Type2: {
2634 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
2636 case color_u::Type::Type3: {
2637 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
2639 case color_u::Type::Type4: {
2640 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
2642 case color_u::Type::Type5: {
2643 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
2645 case color_u::Type::Type6: {
2646 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
2648 case color_u::Type::Type7: {
2649 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
2651 case color_u::Type::Type8: {
2652 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
2655 ossia_do_throw(std::runtime_error,
": bad type");
2658 case color::Type::Type4: {
2661 case color_u::Type::Type0: {
2662 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
2664 case color_u::Type::Type1: {
2665 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
2667 case color_u::Type::Type2: {
2668 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
2670 case color_u::Type::Type3: {
2671 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
2673 case color_u::Type::Type4: {
2674 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
2676 case color_u::Type::Type5: {
2677 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
2679 case color_u::Type::Type6: {
2680 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
2682 case color_u::Type::Type7: {
2683 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
2685 case color_u::Type::Type8: {
2686 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
2689 ossia_do_throw(std::runtime_error,
": bad type");
2692 case color::Type::Type5: {
2695 case color_u::Type::Type0: {
2696 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
2698 case color_u::Type::Type1: {
2699 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
2701 case color_u::Type::Type2: {
2702 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
2704 case color_u::Type::Type3: {
2705 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
2707 case color_u::Type::Type4: {
2708 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
2710 case color_u::Type::Type5: {
2711 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
2713 case color_u::Type::Type6: {
2714 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
2716 case color_u::Type::Type7: {
2717 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
2719 case color_u::Type::Type8: {
2720 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
2723 ossia_do_throw(std::runtime_error,
": bad type");
2726 case color::Type::Type6: {
2729 case color_u::Type::Type0: {
2730 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
2732 case color_u::Type::Type1: {
2733 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
2735 case color_u::Type::Type2: {
2736 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
2738 case color_u::Type::Type3: {
2739 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
2741 case color_u::Type::Type4: {
2742 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
2744 case color_u::Type::Type5: {
2745 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
2747 case color_u::Type::Type6: {
2748 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
2750 case color_u::Type::Type7: {
2751 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
2753 case color_u::Type::Type8: {
2754 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
2757 ossia_do_throw(std::runtime_error,
": bad type");
2760 case color::Type::Type7: {
2763 case color_u::Type::Type0: {
2764 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
2766 case color_u::Type::Type1: {
2767 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
2769 case color_u::Type::Type2: {
2770 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
2772 case color_u::Type::Type3: {
2773 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
2775 case color_u::Type::Type4: {
2776 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
2778 case color_u::Type::Type5: {
2779 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
2781 case color_u::Type::Type6: {
2782 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
2784 case color_u::Type::Type7: {
2785 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
2787 case color_u::Type::Type8: {
2788 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
2791 ossia_do_throw(std::runtime_error,
": bad type");
2794 case color::Type::Type8: {
2797 case color_u::Type::Type0: {
2798 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
2800 case color_u::Type::Type1: {
2801 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
2803 case color_u::Type::Type2: {
2804 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
2806 case color_u::Type::Type3: {
2807 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
2809 case color_u::Type::Type4: {
2810 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
2812 case color_u::Type::Type5: {
2813 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
2815 case color_u::Type::Type6: {
2816 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
2818 case color_u::Type::Type7: {
2819 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
2821 case color_u::Type::Type8: {
2822 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
2825 ossia_do_throw(std::runtime_error,
": bad type");
2829 ossia_do_throw(std::runtime_error,
": bad type");
2832template <
typename Functor>
2833auto apply(Functor&& functor,
const distance& arg0,
const distance_u& arg1)
2837 case distance::Type::Type0: {
2840 case distance_u::Type::Type0: {
2841 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
2843 case distance_u::Type::Type1: {
2844 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
2846 case distance_u::Type::Type2: {
2847 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
2849 case distance_u::Type::Type3: {
2850 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
2852 case distance_u::Type::Type4: {
2853 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
2855 case distance_u::Type::Type5: {
2856 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
2858 case distance_u::Type::Type6: {
2859 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
2861 case distance_u::Type::Type7: {
2862 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
2864 case distance_u::Type::Type8: {
2865 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
2867 case distance_u::Type::Type9: {
2868 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
2870 case distance_u::Type::Type10: {
2871 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value10);
2874 ossia_do_throw(std::runtime_error,
": bad type");
2877 case distance::Type::Type1: {
2880 case distance_u::Type::Type0: {
2881 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
2883 case distance_u::Type::Type1: {
2884 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
2886 case distance_u::Type::Type2: {
2887 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
2889 case distance_u::Type::Type3: {
2890 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
2892 case distance_u::Type::Type4: {
2893 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
2895 case distance_u::Type::Type5: {
2896 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
2898 case distance_u::Type::Type6: {
2899 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
2901 case distance_u::Type::Type7: {
2902 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
2904 case distance_u::Type::Type8: {
2905 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
2907 case distance_u::Type::Type9: {
2908 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
2910 case distance_u::Type::Type10: {
2911 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value10);
2914 ossia_do_throw(std::runtime_error,
": bad type");
2917 case distance::Type::Type2: {
2920 case distance_u::Type::Type0: {
2921 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
2923 case distance_u::Type::Type1: {
2924 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
2926 case distance_u::Type::Type2: {
2927 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
2929 case distance_u::Type::Type3: {
2930 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
2932 case distance_u::Type::Type4: {
2933 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
2935 case distance_u::Type::Type5: {
2936 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
2938 case distance_u::Type::Type6: {
2939 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
2941 case distance_u::Type::Type7: {
2942 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
2944 case distance_u::Type::Type8: {
2945 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
2947 case distance_u::Type::Type9: {
2948 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
2950 case distance_u::Type::Type10: {
2951 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value10);
2954 ossia_do_throw(std::runtime_error,
": bad type");
2957 case distance::Type::Type3: {
2960 case distance_u::Type::Type0: {
2961 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
2963 case distance_u::Type::Type1: {
2964 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
2966 case distance_u::Type::Type2: {
2967 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
2969 case distance_u::Type::Type3: {
2970 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
2972 case distance_u::Type::Type4: {
2973 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
2975 case distance_u::Type::Type5: {
2976 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
2978 case distance_u::Type::Type6: {
2979 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
2981 case distance_u::Type::Type7: {
2982 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
2984 case distance_u::Type::Type8: {
2985 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
2987 case distance_u::Type::Type9: {
2988 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value9);
2990 case distance_u::Type::Type10: {
2991 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value10);
2994 ossia_do_throw(std::runtime_error,
": bad type");
2997 case distance::Type::Type4: {
3000 case distance_u::Type::Type0: {
3001 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
3003 case distance_u::Type::Type1: {
3004 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
3006 case distance_u::Type::Type2: {
3007 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
3009 case distance_u::Type::Type3: {
3010 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
3012 case distance_u::Type::Type4: {
3013 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
3015 case distance_u::Type::Type5: {
3016 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
3018 case distance_u::Type::Type6: {
3019 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
3021 case distance_u::Type::Type7: {
3022 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
3024 case distance_u::Type::Type8: {
3025 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
3027 case distance_u::Type::Type9: {
3028 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value9);
3030 case distance_u::Type::Type10: {
3031 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value10);
3034 ossia_do_throw(std::runtime_error,
": bad type");
3037 case distance::Type::Type5: {
3040 case distance_u::Type::Type0: {
3041 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
3043 case distance_u::Type::Type1: {
3044 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
3046 case distance_u::Type::Type2: {
3047 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
3049 case distance_u::Type::Type3: {
3050 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
3052 case distance_u::Type::Type4: {
3053 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
3055 case distance_u::Type::Type5: {
3056 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
3058 case distance_u::Type::Type6: {
3059 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
3061 case distance_u::Type::Type7: {
3062 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
3064 case distance_u::Type::Type8: {
3065 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
3067 case distance_u::Type::Type9: {
3068 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value9);
3070 case distance_u::Type::Type10: {
3071 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value10);
3074 ossia_do_throw(std::runtime_error,
": bad type");
3077 case distance::Type::Type6: {
3080 case distance_u::Type::Type0: {
3081 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
3083 case distance_u::Type::Type1: {
3084 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
3086 case distance_u::Type::Type2: {
3087 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
3089 case distance_u::Type::Type3: {
3090 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
3092 case distance_u::Type::Type4: {
3093 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
3095 case distance_u::Type::Type5: {
3096 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
3098 case distance_u::Type::Type6: {
3099 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
3101 case distance_u::Type::Type7: {
3102 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
3104 case distance_u::Type::Type8: {
3105 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
3107 case distance_u::Type::Type9: {
3108 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value9);
3110 case distance_u::Type::Type10: {
3111 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value10);
3114 ossia_do_throw(std::runtime_error,
": bad type");
3117 case distance::Type::Type7: {
3120 case distance_u::Type::Type0: {
3121 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
3123 case distance_u::Type::Type1: {
3124 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
3126 case distance_u::Type::Type2: {
3127 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
3129 case distance_u::Type::Type3: {
3130 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
3132 case distance_u::Type::Type4: {
3133 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
3135 case distance_u::Type::Type5: {
3136 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
3138 case distance_u::Type::Type6: {
3139 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
3141 case distance_u::Type::Type7: {
3142 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
3144 case distance_u::Type::Type8: {
3145 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
3147 case distance_u::Type::Type9: {
3148 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value9);
3150 case distance_u::Type::Type10: {
3151 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value10);
3154 ossia_do_throw(std::runtime_error,
": bad type");
3157 case distance::Type::Type8: {
3160 case distance_u::Type::Type0: {
3161 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
3163 case distance_u::Type::Type1: {
3164 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
3166 case distance_u::Type::Type2: {
3167 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
3169 case distance_u::Type::Type3: {
3170 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
3172 case distance_u::Type::Type4: {
3173 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
3175 case distance_u::Type::Type5: {
3176 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
3178 case distance_u::Type::Type6: {
3179 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
3181 case distance_u::Type::Type7: {
3182 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
3184 case distance_u::Type::Type8: {
3185 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
3187 case distance_u::Type::Type9: {
3188 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value9);
3190 case distance_u::Type::Type10: {
3191 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value10);
3194 ossia_do_throw(std::runtime_error,
": bad type");
3197 case distance::Type::Type9: {
3200 case distance_u::Type::Type0: {
3201 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
3203 case distance_u::Type::Type1: {
3204 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
3206 case distance_u::Type::Type2: {
3207 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
3209 case distance_u::Type::Type3: {
3210 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value3);
3212 case distance_u::Type::Type4: {
3213 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value4);
3215 case distance_u::Type::Type5: {
3216 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value5);
3218 case distance_u::Type::Type6: {
3219 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value6);
3221 case distance_u::Type::Type7: {
3222 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value7);
3224 case distance_u::Type::Type8: {
3225 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value8);
3227 case distance_u::Type::Type9: {
3228 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value9);
3230 case distance_u::Type::Type10: {
3231 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value10);
3234 ossia_do_throw(std::runtime_error,
": bad type");
3237 case distance::Type::Type10: {
3240 case distance_u::Type::Type0: {
3241 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value0);
3243 case distance_u::Type::Type1: {
3244 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value1);
3246 case distance_u::Type::Type2: {
3247 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value2);
3249 case distance_u::Type::Type3: {
3250 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value3);
3252 case distance_u::Type::Type4: {
3253 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value4);
3255 case distance_u::Type::Type5: {
3256 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value5);
3258 case distance_u::Type::Type6: {
3259 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value6);
3261 case distance_u::Type::Type7: {
3262 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value7);
3264 case distance_u::Type::Type8: {
3265 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value8);
3267 case distance_u::Type::Type9: {
3268 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value9);
3270 case distance_u::Type::Type10: {
3271 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value10);
3274 ossia_do_throw(std::runtime_error,
": bad type");
3278 ossia_do_throw(std::runtime_error,
": bad type");
3281template <
typename Functor>
3282auto apply(Functor&& functor,
const gain& arg0,
const gain_u& arg1)
3286 case gain::Type::Type0: {
3289 case gain_u::Type::Type0: {
3290 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
3292 case gain_u::Type::Type1: {
3293 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
3295 case gain_u::Type::Type2: {
3296 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
3298 case gain_u::Type::Type3: {
3299 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
3302 ossia_do_throw(std::runtime_error,
": bad type");
3305 case gain::Type::Type1: {
3308 case gain_u::Type::Type0: {
3309 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
3311 case gain_u::Type::Type1: {
3312 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
3314 case gain_u::Type::Type2: {
3315 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
3317 case gain_u::Type::Type3: {
3318 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
3321 ossia_do_throw(std::runtime_error,
": bad type");
3324 case gain::Type::Type2: {
3327 case gain_u::Type::Type0: {
3328 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
3330 case gain_u::Type::Type1: {
3331 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
3333 case gain_u::Type::Type2: {
3334 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
3336 case gain_u::Type::Type3: {
3337 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
3340 ossia_do_throw(std::runtime_error,
": bad type");
3343 case gain::Type::Type3: {
3346 case gain_u::Type::Type0: {
3347 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
3349 case gain_u::Type::Type1: {
3350 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
3352 case gain_u::Type::Type2: {
3353 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
3355 case gain_u::Type::Type3: {
3356 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
3359 ossia_do_throw(std::runtime_error,
": bad type");
3363 ossia_do_throw(std::runtime_error,
": bad type");
3366template <
typename Functor>
3367auto apply(Functor&& functor,
const orientation& arg0,
const orientation_u& arg1)
3371 case orientation::Type::Type0: {
3374 case orientation_u::Type::Type0: {
3375 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
3377 case orientation_u::Type::Type1: {
3378 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
3380 case orientation_u::Type::Type2: {
3381 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
3384 ossia_do_throw(std::runtime_error,
": bad type");
3387 case orientation::Type::Type1: {
3390 case orientation_u::Type::Type0: {
3391 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
3393 case orientation_u::Type::Type1: {
3394 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
3396 case orientation_u::Type::Type2: {
3397 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
3400 ossia_do_throw(std::runtime_error,
": bad type");
3403 case orientation::Type::Type2: {
3406 case orientation_u::Type::Type0: {
3407 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
3409 case orientation_u::Type::Type1: {
3410 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
3412 case orientation_u::Type::Type2: {
3413 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
3416 ossia_do_throw(std::runtime_error,
": bad type");
3420 ossia_do_throw(std::runtime_error,
": bad type");
3423template <
typename Functor>
3424auto apply(Functor&& functor,
const position& arg0,
const position_u& arg1)
3428 case position::Type::Type0: {
3431 case position_u::Type::Type0: {
3432 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
3434 case position_u::Type::Type1: {
3435 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
3437 case position_u::Type::Type2: {
3438 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
3440 case position_u::Type::Type3: {
3441 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
3443 case position_u::Type::Type4: {
3444 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
3446 case position_u::Type::Type5: {
3447 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
3449 case position_u::Type::Type6: {
3450 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
3452 case position_u::Type::Type7: {
3453 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
3455 case position_u::Type::Type8: {
3456 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
3459 ossia_do_throw(std::runtime_error,
": bad type");
3462 case position::Type::Type1: {
3465 case position_u::Type::Type0: {
3466 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
3468 case position_u::Type::Type1: {
3469 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
3471 case position_u::Type::Type2: {
3472 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
3474 case position_u::Type::Type3: {
3475 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
3477 case position_u::Type::Type4: {
3478 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
3480 case position_u::Type::Type5: {
3481 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
3483 case position_u::Type::Type6: {
3484 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
3486 case position_u::Type::Type7: {
3487 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
3489 case position_u::Type::Type8: {
3490 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
3493 ossia_do_throw(std::runtime_error,
": bad type");
3496 case position::Type::Type2: {
3499 case position_u::Type::Type0: {
3500 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
3502 case position_u::Type::Type1: {
3503 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
3505 case position_u::Type::Type2: {
3506 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
3508 case position_u::Type::Type3: {
3509 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
3511 case position_u::Type::Type4: {
3512 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
3514 case position_u::Type::Type5: {
3515 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
3517 case position_u::Type::Type6: {
3518 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
3520 case position_u::Type::Type7: {
3521 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
3523 case position_u::Type::Type8: {
3524 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
3527 ossia_do_throw(std::runtime_error,
": bad type");
3530 case position::Type::Type3: {
3533 case position_u::Type::Type0: {
3534 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
3536 case position_u::Type::Type1: {
3537 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
3539 case position_u::Type::Type2: {
3540 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
3542 case position_u::Type::Type3: {
3543 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
3545 case position_u::Type::Type4: {
3546 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
3548 case position_u::Type::Type5: {
3549 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
3551 case position_u::Type::Type6: {
3552 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
3554 case position_u::Type::Type7: {
3555 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
3557 case position_u::Type::Type8: {
3558 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
3561 ossia_do_throw(std::runtime_error,
": bad type");
3564 case position::Type::Type4: {
3567 case position_u::Type::Type0: {
3568 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
3570 case position_u::Type::Type1: {
3571 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
3573 case position_u::Type::Type2: {
3574 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
3576 case position_u::Type::Type3: {
3577 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
3579 case position_u::Type::Type4: {
3580 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
3582 case position_u::Type::Type5: {
3583 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
3585 case position_u::Type::Type6: {
3586 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
3588 case position_u::Type::Type7: {
3589 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
3591 case position_u::Type::Type8: {
3592 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
3595 ossia_do_throw(std::runtime_error,
": bad type");
3598 case position::Type::Type5: {
3601 case position_u::Type::Type0: {
3602 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
3604 case position_u::Type::Type1: {
3605 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
3607 case position_u::Type::Type2: {
3608 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
3610 case position_u::Type::Type3: {
3611 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
3613 case position_u::Type::Type4: {
3614 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
3616 case position_u::Type::Type5: {
3617 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
3619 case position_u::Type::Type6: {
3620 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
3622 case position_u::Type::Type7: {
3623 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
3625 case position_u::Type::Type8: {
3626 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
3629 ossia_do_throw(std::runtime_error,
": bad type");
3632 case position::Type::Type6: {
3635 case position_u::Type::Type0: {
3636 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
3638 case position_u::Type::Type1: {
3639 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
3641 case position_u::Type::Type2: {
3642 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
3644 case position_u::Type::Type3: {
3645 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
3647 case position_u::Type::Type4: {
3648 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
3650 case position_u::Type::Type5: {
3651 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
3653 case position_u::Type::Type6: {
3654 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
3656 case position_u::Type::Type7: {
3657 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
3659 case position_u::Type::Type8: {
3660 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
3663 ossia_do_throw(std::runtime_error,
": bad type");
3666 case position::Type::Type7: {
3669 case position_u::Type::Type0: {
3670 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
3672 case position_u::Type::Type1: {
3673 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
3675 case position_u::Type::Type2: {
3676 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
3678 case position_u::Type::Type3: {
3679 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
3681 case position_u::Type::Type4: {
3682 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
3684 case position_u::Type::Type5: {
3685 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
3687 case position_u::Type::Type6: {
3688 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
3690 case position_u::Type::Type7: {
3691 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
3693 case position_u::Type::Type8: {
3694 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
3697 ossia_do_throw(std::runtime_error,
": bad type");
3700 case position::Type::Type8: {
3703 case position_u::Type::Type0: {
3704 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
3706 case position_u::Type::Type1: {
3707 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
3709 case position_u::Type::Type2: {
3710 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
3712 case position_u::Type::Type3: {
3713 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
3715 case position_u::Type::Type4: {
3716 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
3718 case position_u::Type::Type5: {
3719 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
3721 case position_u::Type::Type6: {
3722 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
3724 case position_u::Type::Type7: {
3725 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
3727 case position_u::Type::Type8: {
3728 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
3731 ossia_do_throw(std::runtime_error,
": bad type");
3735 ossia_do_throw(std::runtime_error,
": bad type");
3738template <
typename Functor>
3739auto apply(Functor&& functor,
const speed& arg0,
const speed_u& arg1)
3743 case speed::Type::Type0: {
3746 case speed_u::Type::Type0: {
3747 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
3749 case speed_u::Type::Type1: {
3750 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
3752 case speed_u::Type::Type2: {
3753 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
3755 case speed_u::Type::Type3: {
3756 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
3758 case speed_u::Type::Type4: {
3759 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
3761 case speed_u::Type::Type5: {
3762 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
3765 ossia_do_throw(std::runtime_error,
": bad type");
3768 case speed::Type::Type1: {
3771 case speed_u::Type::Type0: {
3772 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
3774 case speed_u::Type::Type1: {
3775 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
3777 case speed_u::Type::Type2: {
3778 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
3780 case speed_u::Type::Type3: {
3781 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
3783 case speed_u::Type::Type4: {
3784 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
3786 case speed_u::Type::Type5: {
3787 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
3790 ossia_do_throw(std::runtime_error,
": bad type");
3793 case speed::Type::Type2: {
3796 case speed_u::Type::Type0: {
3797 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
3799 case speed_u::Type::Type1: {
3800 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
3802 case speed_u::Type::Type2: {
3803 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
3805 case speed_u::Type::Type3: {
3806 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
3808 case speed_u::Type::Type4: {
3809 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
3811 case speed_u::Type::Type5: {
3812 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
3815 ossia_do_throw(std::runtime_error,
": bad type");
3818 case speed::Type::Type3: {
3821 case speed_u::Type::Type0: {
3822 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
3824 case speed_u::Type::Type1: {
3825 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
3827 case speed_u::Type::Type2: {
3828 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
3830 case speed_u::Type::Type3: {
3831 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
3833 case speed_u::Type::Type4: {
3834 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
3836 case speed_u::Type::Type5: {
3837 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
3840 ossia_do_throw(std::runtime_error,
": bad type");
3843 case speed::Type::Type4: {
3846 case speed_u::Type::Type0: {
3847 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
3849 case speed_u::Type::Type1: {
3850 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
3852 case speed_u::Type::Type2: {
3853 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
3855 case speed_u::Type::Type3: {
3856 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
3858 case speed_u::Type::Type4: {
3859 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
3861 case speed_u::Type::Type5: {
3862 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
3865 ossia_do_throw(std::runtime_error,
": bad type");
3868 case speed::Type::Type5: {
3871 case speed_u::Type::Type0: {
3872 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
3874 case speed_u::Type::Type1: {
3875 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
3877 case speed_u::Type::Type2: {
3878 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
3880 case speed_u::Type::Type3: {
3881 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
3883 case speed_u::Type::Type4: {
3884 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
3886 case speed_u::Type::Type5: {
3887 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
3890 ossia_do_throw(std::runtime_error,
": bad type");
3894 ossia_do_throw(std::runtime_error,
": bad type");
3897template <
typename Functor>
3898auto apply(Functor&& functor,
const timing& arg0,
const timing_u& arg1)
3902 case timing::Type::Type0: {
3905 case timing_u::Type::Type0: {
3906 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
3908 case timing_u::Type::Type1: {
3909 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
3911 case timing_u::Type::Type2: {
3912 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
3914 case timing_u::Type::Type3: {
3915 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
3917 case timing_u::Type::Type4: {
3918 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
3920 case timing_u::Type::Type5: {
3921 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
3923 case timing_u::Type::Type6: {
3924 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
3926 case timing_u::Type::Type7: {
3927 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
3929 case timing_u::Type::Type8: {
3930 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
3933 ossia_do_throw(std::runtime_error,
": bad type");
3936 case timing::Type::Type1: {
3939 case timing_u::Type::Type0: {
3940 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
3942 case timing_u::Type::Type1: {
3943 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
3945 case timing_u::Type::Type2: {
3946 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
3948 case timing_u::Type::Type3: {
3949 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
3951 case timing_u::Type::Type4: {
3952 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
3954 case timing_u::Type::Type5: {
3955 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
3957 case timing_u::Type::Type6: {
3958 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
3960 case timing_u::Type::Type7: {
3961 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
3963 case timing_u::Type::Type8: {
3964 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
3967 ossia_do_throw(std::runtime_error,
": bad type");
3970 case timing::Type::Type2: {
3973 case timing_u::Type::Type0: {
3974 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
3976 case timing_u::Type::Type1: {
3977 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
3979 case timing_u::Type::Type2: {
3980 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
3982 case timing_u::Type::Type3: {
3983 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
3985 case timing_u::Type::Type4: {
3986 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
3988 case timing_u::Type::Type5: {
3989 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
3991 case timing_u::Type::Type6: {
3992 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
3994 case timing_u::Type::Type7: {
3995 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
3997 case timing_u::Type::Type8: {
3998 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
4001 ossia_do_throw(std::runtime_error,
": bad type");
4004 case timing::Type::Type3: {
4007 case timing_u::Type::Type0: {
4008 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
4010 case timing_u::Type::Type1: {
4011 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
4013 case timing_u::Type::Type2: {
4014 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
4016 case timing_u::Type::Type3: {
4017 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
4019 case timing_u::Type::Type4: {
4020 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
4022 case timing_u::Type::Type5: {
4023 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
4025 case timing_u::Type::Type6: {
4026 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
4028 case timing_u::Type::Type7: {
4029 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
4031 case timing_u::Type::Type8: {
4032 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
4035 ossia_do_throw(std::runtime_error,
": bad type");
4038 case timing::Type::Type4: {
4041 case timing_u::Type::Type0: {
4042 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
4044 case timing_u::Type::Type1: {
4045 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
4047 case timing_u::Type::Type2: {
4048 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
4050 case timing_u::Type::Type3: {
4051 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
4053 case timing_u::Type::Type4: {
4054 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
4056 case timing_u::Type::Type5: {
4057 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
4059 case timing_u::Type::Type6: {
4060 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
4062 case timing_u::Type::Type7: {
4063 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
4065 case timing_u::Type::Type8: {
4066 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
4069 ossia_do_throw(std::runtime_error,
": bad type");
4072 case timing::Type::Type5: {
4075 case timing_u::Type::Type0: {
4076 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
4078 case timing_u::Type::Type1: {
4079 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
4081 case timing_u::Type::Type2: {
4082 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
4084 case timing_u::Type::Type3: {
4085 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
4087 case timing_u::Type::Type4: {
4088 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
4090 case timing_u::Type::Type5: {
4091 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
4093 case timing_u::Type::Type6: {
4094 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
4096 case timing_u::Type::Type7: {
4097 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
4099 case timing_u::Type::Type8: {
4100 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
4103 ossia_do_throw(std::runtime_error,
": bad type");
4106 case timing::Type::Type6: {
4109 case timing_u::Type::Type0: {
4110 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
4112 case timing_u::Type::Type1: {
4113 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
4115 case timing_u::Type::Type2: {
4116 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
4118 case timing_u::Type::Type3: {
4119 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
4121 case timing_u::Type::Type4: {
4122 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
4124 case timing_u::Type::Type5: {
4125 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
4127 case timing_u::Type::Type6: {
4128 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
4130 case timing_u::Type::Type7: {
4131 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
4133 case timing_u::Type::Type8: {
4134 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
4137 ossia_do_throw(std::runtime_error,
": bad type");
4140 case timing::Type::Type7: {
4143 case timing_u::Type::Type0: {
4144 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
4146 case timing_u::Type::Type1: {
4147 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
4149 case timing_u::Type::Type2: {
4150 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
4152 case timing_u::Type::Type3: {
4153 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
4155 case timing_u::Type::Type4: {
4156 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
4158 case timing_u::Type::Type5: {
4159 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
4161 case timing_u::Type::Type6: {
4162 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
4164 case timing_u::Type::Type7: {
4165 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
4167 case timing_u::Type::Type8: {
4168 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
4171 ossia_do_throw(std::runtime_error,
": bad type");
4174 case timing::Type::Type8: {
4177 case timing_u::Type::Type0: {
4178 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
4180 case timing_u::Type::Type1: {
4181 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
4183 case timing_u::Type::Type2: {
4184 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
4186 case timing_u::Type::Type3: {
4187 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
4189 case timing_u::Type::Type4: {
4190 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
4192 case timing_u::Type::Type5: {
4193 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
4195 case timing_u::Type::Type6: {
4196 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
4198 case timing_u::Type::Type7: {
4199 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
4201 case timing_u::Type::Type8: {
4202 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
4205 ossia_do_throw(std::runtime_error,
": bad type");
4209 ossia_do_throw(std::runtime_error,
": bad type");
4212template <
typename Functor>
4213auto apply(Functor&& functor,
const angle& arg0,
const value_variant_type& arg1)
4217 case angle::Type::Type0: {
4220 case value_variant_type::Type::Type0: {
4221 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
4223 case value_variant_type::Type::Type1: {
4224 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
4226 case value_variant_type::Type::Type2: {
4227 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
4229 case value_variant_type::Type::Type3: {
4230 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
4232 case value_variant_type::Type::Type4: {
4233 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
4235 case value_variant_type::Type::Type5: {
4236 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
4238 case value_variant_type::Type::Type6: {
4239 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
4241 case value_variant_type::Type::Type7: {
4242 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
4244 case value_variant_type::Type::Type8: {
4245 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
4247 case value_variant_type::Type::Type9: {
4248 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
4251 ossia_do_throw(std::runtime_error,
": bad type");
4254 case angle::Type::Type1: {
4257 case value_variant_type::Type::Type0: {
4258 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
4260 case value_variant_type::Type::Type1: {
4261 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
4263 case value_variant_type::Type::Type2: {
4264 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
4266 case value_variant_type::Type::Type3: {
4267 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
4269 case value_variant_type::Type::Type4: {
4270 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
4272 case value_variant_type::Type::Type5: {
4273 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
4275 case value_variant_type::Type::Type6: {
4276 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
4278 case value_variant_type::Type::Type7: {
4279 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
4281 case value_variant_type::Type::Type8: {
4282 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
4284 case value_variant_type::Type::Type9: {
4285 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
4288 ossia_do_throw(std::runtime_error,
": bad type");
4292 ossia_do_throw(std::runtime_error,
": bad type");
4295template <
typename Functor>
4296auto apply(Functor&& functor,
const color& arg0,
const value_variant_type& arg1)
4300 case color::Type::Type0: {
4303 case value_variant_type::Type::Type0: {
4304 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
4306 case value_variant_type::Type::Type1: {
4307 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
4309 case value_variant_type::Type::Type2: {
4310 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
4312 case value_variant_type::Type::Type3: {
4313 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
4315 case value_variant_type::Type::Type4: {
4316 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
4318 case value_variant_type::Type::Type5: {
4319 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
4321 case value_variant_type::Type::Type6: {
4322 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
4324 case value_variant_type::Type::Type7: {
4325 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
4327 case value_variant_type::Type::Type8: {
4328 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
4330 case value_variant_type::Type::Type9: {
4331 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
4334 ossia_do_throw(std::runtime_error,
": bad type");
4337 case color::Type::Type1: {
4340 case value_variant_type::Type::Type0: {
4341 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
4343 case value_variant_type::Type::Type1: {
4344 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
4346 case value_variant_type::Type::Type2: {
4347 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
4349 case value_variant_type::Type::Type3: {
4350 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
4352 case value_variant_type::Type::Type4: {
4353 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
4355 case value_variant_type::Type::Type5: {
4356 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
4358 case value_variant_type::Type::Type6: {
4359 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
4361 case value_variant_type::Type::Type7: {
4362 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
4364 case value_variant_type::Type::Type8: {
4365 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
4367 case value_variant_type::Type::Type9: {
4368 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
4371 ossia_do_throw(std::runtime_error,
": bad type");
4374 case color::Type::Type2: {
4377 case value_variant_type::Type::Type0: {
4378 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
4380 case value_variant_type::Type::Type1: {
4381 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
4383 case value_variant_type::Type::Type2: {
4384 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
4386 case value_variant_type::Type::Type3: {
4387 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
4389 case value_variant_type::Type::Type4: {
4390 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
4392 case value_variant_type::Type::Type5: {
4393 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
4395 case value_variant_type::Type::Type6: {
4396 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
4398 case value_variant_type::Type::Type7: {
4399 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
4401 case value_variant_type::Type::Type8: {
4402 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
4404 case value_variant_type::Type::Type9: {
4405 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
4408 ossia_do_throw(std::runtime_error,
": bad type");
4411 case color::Type::Type3: {
4414 case value_variant_type::Type::Type0: {
4415 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
4417 case value_variant_type::Type::Type1: {
4418 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
4420 case value_variant_type::Type::Type2: {
4421 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
4423 case value_variant_type::Type::Type3: {
4424 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
4426 case value_variant_type::Type::Type4: {
4427 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
4429 case value_variant_type::Type::Type5: {
4430 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
4432 case value_variant_type::Type::Type6: {
4433 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
4435 case value_variant_type::Type::Type7: {
4436 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
4438 case value_variant_type::Type::Type8: {
4439 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
4441 case value_variant_type::Type::Type9: {
4442 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value9);
4445 ossia_do_throw(std::runtime_error,
": bad type");
4448 case color::Type::Type4: {
4451 case value_variant_type::Type::Type0: {
4452 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
4454 case value_variant_type::Type::Type1: {
4455 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
4457 case value_variant_type::Type::Type2: {
4458 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
4460 case value_variant_type::Type::Type3: {
4461 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
4463 case value_variant_type::Type::Type4: {
4464 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
4466 case value_variant_type::Type::Type5: {
4467 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
4469 case value_variant_type::Type::Type6: {
4470 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
4472 case value_variant_type::Type::Type7: {
4473 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
4475 case value_variant_type::Type::Type8: {
4476 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
4478 case value_variant_type::Type::Type9: {
4479 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value9);
4482 ossia_do_throw(std::runtime_error,
": bad type");
4485 case color::Type::Type5: {
4488 case value_variant_type::Type::Type0: {
4489 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
4491 case value_variant_type::Type::Type1: {
4492 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
4494 case value_variant_type::Type::Type2: {
4495 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
4497 case value_variant_type::Type::Type3: {
4498 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
4500 case value_variant_type::Type::Type4: {
4501 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
4503 case value_variant_type::Type::Type5: {
4504 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
4506 case value_variant_type::Type::Type6: {
4507 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
4509 case value_variant_type::Type::Type7: {
4510 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
4512 case value_variant_type::Type::Type8: {
4513 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
4515 case value_variant_type::Type::Type9: {
4516 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value9);
4519 ossia_do_throw(std::runtime_error,
": bad type");
4522 case color::Type::Type6: {
4525 case value_variant_type::Type::Type0: {
4526 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
4528 case value_variant_type::Type::Type1: {
4529 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
4531 case value_variant_type::Type::Type2: {
4532 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
4534 case value_variant_type::Type::Type3: {
4535 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
4537 case value_variant_type::Type::Type4: {
4538 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
4540 case value_variant_type::Type::Type5: {
4541 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
4543 case value_variant_type::Type::Type6: {
4544 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
4546 case value_variant_type::Type::Type7: {
4547 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
4549 case value_variant_type::Type::Type8: {
4550 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
4552 case value_variant_type::Type::Type9: {
4553 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value9);
4556 ossia_do_throw(std::runtime_error,
": bad type");
4559 case color::Type::Type7: {
4562 case value_variant_type::Type::Type0: {
4563 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
4565 case value_variant_type::Type::Type1: {
4566 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
4568 case value_variant_type::Type::Type2: {
4569 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
4571 case value_variant_type::Type::Type3: {
4572 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
4574 case value_variant_type::Type::Type4: {
4575 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
4577 case value_variant_type::Type::Type5: {
4578 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
4580 case value_variant_type::Type::Type6: {
4581 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
4583 case value_variant_type::Type::Type7: {
4584 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
4586 case value_variant_type::Type::Type8: {
4587 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
4589 case value_variant_type::Type::Type9: {
4590 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value9);
4593 ossia_do_throw(std::runtime_error,
": bad type");
4596 case color::Type::Type8: {
4599 case value_variant_type::Type::Type0: {
4600 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
4602 case value_variant_type::Type::Type1: {
4603 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
4605 case value_variant_type::Type::Type2: {
4606 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
4608 case value_variant_type::Type::Type3: {
4609 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
4611 case value_variant_type::Type::Type4: {
4612 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
4614 case value_variant_type::Type::Type5: {
4615 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
4617 case value_variant_type::Type::Type6: {
4618 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
4620 case value_variant_type::Type::Type7: {
4621 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
4623 case value_variant_type::Type::Type8: {
4624 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
4626 case value_variant_type::Type::Type9: {
4627 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value9);
4630 ossia_do_throw(std::runtime_error,
": bad type");
4634 ossia_do_throw(std::runtime_error,
": bad type");
4637template <
typename Functor>
4638auto apply(Functor&& functor,
const distance& arg0,
const value_variant_type& arg1)
4642 case distance::Type::Type0: {
4645 case value_variant_type::Type::Type0: {
4646 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
4648 case value_variant_type::Type::Type1: {
4649 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
4651 case value_variant_type::Type::Type2: {
4652 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
4654 case value_variant_type::Type::Type3: {
4655 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
4657 case value_variant_type::Type::Type4: {
4658 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
4660 case value_variant_type::Type::Type5: {
4661 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
4663 case value_variant_type::Type::Type6: {
4664 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
4666 case value_variant_type::Type::Type7: {
4667 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
4669 case value_variant_type::Type::Type8: {
4670 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
4672 case value_variant_type::Type::Type9: {
4673 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
4676 ossia_do_throw(std::runtime_error,
": bad type");
4679 case distance::Type::Type1: {
4682 case value_variant_type::Type::Type0: {
4683 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
4685 case value_variant_type::Type::Type1: {
4686 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
4688 case value_variant_type::Type::Type2: {
4689 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
4691 case value_variant_type::Type::Type3: {
4692 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
4694 case value_variant_type::Type::Type4: {
4695 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
4697 case value_variant_type::Type::Type5: {
4698 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
4700 case value_variant_type::Type::Type6: {
4701 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
4703 case value_variant_type::Type::Type7: {
4704 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
4706 case value_variant_type::Type::Type8: {
4707 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
4709 case value_variant_type::Type::Type9: {
4710 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
4713 ossia_do_throw(std::runtime_error,
": bad type");
4716 case distance::Type::Type2: {
4719 case value_variant_type::Type::Type0: {
4720 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
4722 case value_variant_type::Type::Type1: {
4723 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
4725 case value_variant_type::Type::Type2: {
4726 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
4728 case value_variant_type::Type::Type3: {
4729 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
4731 case value_variant_type::Type::Type4: {
4732 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
4734 case value_variant_type::Type::Type5: {
4735 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
4737 case value_variant_type::Type::Type6: {
4738 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
4740 case value_variant_type::Type::Type7: {
4741 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
4743 case value_variant_type::Type::Type8: {
4744 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
4746 case value_variant_type::Type::Type9: {
4747 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
4750 ossia_do_throw(std::runtime_error,
": bad type");
4753 case distance::Type::Type3: {
4756 case value_variant_type::Type::Type0: {
4757 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
4759 case value_variant_type::Type::Type1: {
4760 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
4762 case value_variant_type::Type::Type2: {
4763 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
4765 case value_variant_type::Type::Type3: {
4766 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
4768 case value_variant_type::Type::Type4: {
4769 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
4771 case value_variant_type::Type::Type5: {
4772 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
4774 case value_variant_type::Type::Type6: {
4775 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
4777 case value_variant_type::Type::Type7: {
4778 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
4780 case value_variant_type::Type::Type8: {
4781 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
4783 case value_variant_type::Type::Type9: {
4784 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value9);
4787 ossia_do_throw(std::runtime_error,
": bad type");
4790 case distance::Type::Type4: {
4793 case value_variant_type::Type::Type0: {
4794 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
4796 case value_variant_type::Type::Type1: {
4797 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
4799 case value_variant_type::Type::Type2: {
4800 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
4802 case value_variant_type::Type::Type3: {
4803 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
4805 case value_variant_type::Type::Type4: {
4806 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
4808 case value_variant_type::Type::Type5: {
4809 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
4811 case value_variant_type::Type::Type6: {
4812 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
4814 case value_variant_type::Type::Type7: {
4815 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
4817 case value_variant_type::Type::Type8: {
4818 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
4820 case value_variant_type::Type::Type9: {
4821 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value9);
4824 ossia_do_throw(std::runtime_error,
": bad type");
4827 case distance::Type::Type5: {
4830 case value_variant_type::Type::Type0: {
4831 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
4833 case value_variant_type::Type::Type1: {
4834 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
4836 case value_variant_type::Type::Type2: {
4837 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
4839 case value_variant_type::Type::Type3: {
4840 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
4842 case value_variant_type::Type::Type4: {
4843 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
4845 case value_variant_type::Type::Type5: {
4846 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
4848 case value_variant_type::Type::Type6: {
4849 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
4851 case value_variant_type::Type::Type7: {
4852 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
4854 case value_variant_type::Type::Type8: {
4855 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
4857 case value_variant_type::Type::Type9: {
4858 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value9);
4861 ossia_do_throw(std::runtime_error,
": bad type");
4864 case distance::Type::Type6: {
4867 case value_variant_type::Type::Type0: {
4868 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
4870 case value_variant_type::Type::Type1: {
4871 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
4873 case value_variant_type::Type::Type2: {
4874 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
4876 case value_variant_type::Type::Type3: {
4877 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
4879 case value_variant_type::Type::Type4: {
4880 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
4882 case value_variant_type::Type::Type5: {
4883 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
4885 case value_variant_type::Type::Type6: {
4886 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
4888 case value_variant_type::Type::Type7: {
4889 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
4891 case value_variant_type::Type::Type8: {
4892 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
4894 case value_variant_type::Type::Type9: {
4895 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value9);
4898 ossia_do_throw(std::runtime_error,
": bad type");
4901 case distance::Type::Type7: {
4904 case value_variant_type::Type::Type0: {
4905 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
4907 case value_variant_type::Type::Type1: {
4908 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
4910 case value_variant_type::Type::Type2: {
4911 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
4913 case value_variant_type::Type::Type3: {
4914 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
4916 case value_variant_type::Type::Type4: {
4917 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
4919 case value_variant_type::Type::Type5: {
4920 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
4922 case value_variant_type::Type::Type6: {
4923 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
4925 case value_variant_type::Type::Type7: {
4926 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
4928 case value_variant_type::Type::Type8: {
4929 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
4931 case value_variant_type::Type::Type9: {
4932 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value9);
4935 ossia_do_throw(std::runtime_error,
": bad type");
4938 case distance::Type::Type8: {
4941 case value_variant_type::Type::Type0: {
4942 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
4944 case value_variant_type::Type::Type1: {
4945 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
4947 case value_variant_type::Type::Type2: {
4948 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
4950 case value_variant_type::Type::Type3: {
4951 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
4953 case value_variant_type::Type::Type4: {
4954 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
4956 case value_variant_type::Type::Type5: {
4957 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
4959 case value_variant_type::Type::Type6: {
4960 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
4962 case value_variant_type::Type::Type7: {
4963 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
4965 case value_variant_type::Type::Type8: {
4966 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
4968 case value_variant_type::Type::Type9: {
4969 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value9);
4972 ossia_do_throw(std::runtime_error,
": bad type");
4975 case distance::Type::Type9: {
4978 case value_variant_type::Type::Type0: {
4979 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value0);
4981 case value_variant_type::Type::Type1: {
4982 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value1);
4984 case value_variant_type::Type::Type2: {
4985 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value2);
4987 case value_variant_type::Type::Type3: {
4988 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value3);
4990 case value_variant_type::Type::Type4: {
4991 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value4);
4993 case value_variant_type::Type::Type5: {
4994 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value5);
4996 case value_variant_type::Type::Type6: {
4997 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value6);
4999 case value_variant_type::Type::Type7: {
5000 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value7);
5002 case value_variant_type::Type::Type8: {
5003 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value8);
5005 case value_variant_type::Type::Type9: {
5006 return functor(arg0.m_impl.m_value9, arg1.m_impl.m_value9);
5009 ossia_do_throw(std::runtime_error,
": bad type");
5012 case distance::Type::Type10: {
5015 case value_variant_type::Type::Type0: {
5016 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value0);
5018 case value_variant_type::Type::Type1: {
5019 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value1);
5021 case value_variant_type::Type::Type2: {
5022 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value2);
5024 case value_variant_type::Type::Type3: {
5025 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value3);
5027 case value_variant_type::Type::Type4: {
5028 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value4);
5030 case value_variant_type::Type::Type5: {
5031 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value5);
5033 case value_variant_type::Type::Type6: {
5034 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value6);
5036 case value_variant_type::Type::Type7: {
5037 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value7);
5039 case value_variant_type::Type::Type8: {
5040 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value8);
5042 case value_variant_type::Type::Type9: {
5043 return functor(arg0.m_impl.m_value10, arg1.m_impl.m_value9);
5046 ossia_do_throw(std::runtime_error,
": bad type");
5050 ossia_do_throw(std::runtime_error,
": bad type");
5053template <
typename Functor>
5054auto apply(Functor&& functor,
const gain& arg0,
const value_variant_type& arg1)
5058 case gain::Type::Type0: {
5061 case value_variant_type::Type::Type0: {
5062 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
5064 case value_variant_type::Type::Type1: {
5065 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
5067 case value_variant_type::Type::Type2: {
5068 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
5070 case value_variant_type::Type::Type3: {
5071 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
5073 case value_variant_type::Type::Type4: {
5074 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
5076 case value_variant_type::Type::Type5: {
5077 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
5079 case value_variant_type::Type::Type6: {
5080 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
5082 case value_variant_type::Type::Type7: {
5083 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
5085 case value_variant_type::Type::Type8: {
5086 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
5088 case value_variant_type::Type::Type9: {
5089 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
5092 ossia_do_throw(std::runtime_error,
": bad type");
5095 case gain::Type::Type1: {
5098 case value_variant_type::Type::Type0: {
5099 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
5101 case value_variant_type::Type::Type1: {
5102 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
5104 case value_variant_type::Type::Type2: {
5105 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
5107 case value_variant_type::Type::Type3: {
5108 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
5110 case value_variant_type::Type::Type4: {
5111 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
5113 case value_variant_type::Type::Type5: {
5114 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
5116 case value_variant_type::Type::Type6: {
5117 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
5119 case value_variant_type::Type::Type7: {
5120 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
5122 case value_variant_type::Type::Type8: {
5123 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
5125 case value_variant_type::Type::Type9: {
5126 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
5129 ossia_do_throw(std::runtime_error,
": bad type");
5132 case gain::Type::Type2: {
5135 case value_variant_type::Type::Type0: {
5136 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
5138 case value_variant_type::Type::Type1: {
5139 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
5141 case value_variant_type::Type::Type2: {
5142 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
5144 case value_variant_type::Type::Type3: {
5145 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
5147 case value_variant_type::Type::Type4: {
5148 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
5150 case value_variant_type::Type::Type5: {
5151 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
5153 case value_variant_type::Type::Type6: {
5154 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
5156 case value_variant_type::Type::Type7: {
5157 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
5159 case value_variant_type::Type::Type8: {
5160 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
5162 case value_variant_type::Type::Type9: {
5163 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
5166 ossia_do_throw(std::runtime_error,
": bad type");
5169 case gain::Type::Type3: {
5172 case value_variant_type::Type::Type0: {
5173 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
5175 case value_variant_type::Type::Type1: {
5176 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
5178 case value_variant_type::Type::Type2: {
5179 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
5181 case value_variant_type::Type::Type3: {
5182 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
5184 case value_variant_type::Type::Type4: {
5185 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
5187 case value_variant_type::Type::Type5: {
5188 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
5190 case value_variant_type::Type::Type6: {
5191 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
5193 case value_variant_type::Type::Type7: {
5194 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
5196 case value_variant_type::Type::Type8: {
5197 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
5199 case value_variant_type::Type::Type9: {
5200 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value9);
5203 ossia_do_throw(std::runtime_error,
": bad type");
5207 ossia_do_throw(std::runtime_error,
": bad type");
5210template <
typename Functor>
5211auto apply(Functor&& functor,
const orientation& arg0,
const value_variant_type& arg1)
5215 case orientation::Type::Type0: {
5218 case value_variant_type::Type::Type0: {
5219 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
5221 case value_variant_type::Type::Type1: {
5222 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
5224 case value_variant_type::Type::Type2: {
5225 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
5227 case value_variant_type::Type::Type3: {
5228 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
5230 case value_variant_type::Type::Type4: {
5231 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
5233 case value_variant_type::Type::Type5: {
5234 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
5236 case value_variant_type::Type::Type6: {
5237 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
5239 case value_variant_type::Type::Type7: {
5240 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
5242 case value_variant_type::Type::Type8: {
5243 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
5245 case value_variant_type::Type::Type9: {
5246 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
5249 ossia_do_throw(std::runtime_error,
": bad type");
5252 case orientation::Type::Type1: {
5255 case value_variant_type::Type::Type0: {
5256 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
5258 case value_variant_type::Type::Type1: {
5259 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
5261 case value_variant_type::Type::Type2: {
5262 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
5264 case value_variant_type::Type::Type3: {
5265 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
5267 case value_variant_type::Type::Type4: {
5268 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
5270 case value_variant_type::Type::Type5: {
5271 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
5273 case value_variant_type::Type::Type6: {
5274 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
5276 case value_variant_type::Type::Type7: {
5277 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
5279 case value_variant_type::Type::Type8: {
5280 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
5282 case value_variant_type::Type::Type9: {
5283 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
5286 ossia_do_throw(std::runtime_error,
": bad type");
5289 case orientation::Type::Type2: {
5292 case value_variant_type::Type::Type0: {
5293 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
5295 case value_variant_type::Type::Type1: {
5296 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
5298 case value_variant_type::Type::Type2: {
5299 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
5301 case value_variant_type::Type::Type3: {
5302 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
5304 case value_variant_type::Type::Type4: {
5305 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
5307 case value_variant_type::Type::Type5: {
5308 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
5310 case value_variant_type::Type::Type6: {
5311 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
5313 case value_variant_type::Type::Type7: {
5314 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
5316 case value_variant_type::Type::Type8: {
5317 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
5319 case value_variant_type::Type::Type9: {
5320 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
5323 ossia_do_throw(std::runtime_error,
": bad type");
5327 ossia_do_throw(std::runtime_error,
": bad type");
5330template <
typename Functor>
5331auto apply(Functor&& functor,
const position& arg0,
const value_variant_type& arg1)
5335 case position::Type::Type0: {
5338 case value_variant_type::Type::Type0: {
5339 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
5341 case value_variant_type::Type::Type1: {
5342 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
5344 case value_variant_type::Type::Type2: {
5345 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
5347 case value_variant_type::Type::Type3: {
5348 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
5350 case value_variant_type::Type::Type4: {
5351 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
5353 case value_variant_type::Type::Type5: {
5354 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
5356 case value_variant_type::Type::Type6: {
5357 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
5359 case value_variant_type::Type::Type7: {
5360 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
5362 case value_variant_type::Type::Type8: {
5363 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
5366 ossia_do_throw(std::runtime_error,
": bad type");
5369 case position::Type::Type1: {
5372 case value_variant_type::Type::Type0: {
5373 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
5375 case value_variant_type::Type::Type1: {
5376 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
5378 case value_variant_type::Type::Type2: {
5379 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
5381 case value_variant_type::Type::Type3: {
5382 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
5384 case value_variant_type::Type::Type4: {
5385 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
5387 case value_variant_type::Type::Type5: {
5388 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
5390 case value_variant_type::Type::Type6: {
5391 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
5393 case value_variant_type::Type::Type7: {
5394 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
5396 case value_variant_type::Type::Type8: {
5397 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
5400 ossia_do_throw(std::runtime_error,
": bad type");
5403 case position::Type::Type2: {
5406 case value_variant_type::Type::Type0: {
5407 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
5409 case value_variant_type::Type::Type1: {
5410 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
5412 case value_variant_type::Type::Type2: {
5413 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
5415 case value_variant_type::Type::Type3: {
5416 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
5418 case value_variant_type::Type::Type4: {
5419 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
5421 case value_variant_type::Type::Type5: {
5422 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
5424 case value_variant_type::Type::Type6: {
5425 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
5427 case value_variant_type::Type::Type7: {
5428 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
5430 case value_variant_type::Type::Type8: {
5431 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
5434 ossia_do_throw(std::runtime_error,
": bad type");
5437 case position::Type::Type3: {
5440 case value_variant_type::Type::Type0: {
5441 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
5443 case value_variant_type::Type::Type1: {
5444 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
5446 case value_variant_type::Type::Type2: {
5447 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
5449 case value_variant_type::Type::Type3: {
5450 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
5452 case value_variant_type::Type::Type4: {
5453 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
5455 case value_variant_type::Type::Type5: {
5456 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
5458 case value_variant_type::Type::Type6: {
5459 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
5461 case value_variant_type::Type::Type7: {
5462 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
5464 case value_variant_type::Type::Type8: {
5465 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
5468 ossia_do_throw(std::runtime_error,
": bad type");
5471 case position::Type::Type4: {
5474 case value_variant_type::Type::Type0: {
5475 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
5477 case value_variant_type::Type::Type1: {
5478 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
5480 case value_variant_type::Type::Type2: {
5481 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
5483 case value_variant_type::Type::Type3: {
5484 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
5486 case value_variant_type::Type::Type4: {
5487 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
5489 case value_variant_type::Type::Type5: {
5490 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
5492 case value_variant_type::Type::Type6: {
5493 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
5495 case value_variant_type::Type::Type7: {
5496 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
5498 case value_variant_type::Type::Type8: {
5499 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
5502 ossia_do_throw(std::runtime_error,
": bad type");
5505 case position::Type::Type5: {
5508 case value_variant_type::Type::Type0: {
5509 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
5511 case value_variant_type::Type::Type1: {
5512 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
5514 case value_variant_type::Type::Type2: {
5515 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
5517 case value_variant_type::Type::Type3: {
5518 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
5520 case value_variant_type::Type::Type4: {
5521 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
5523 case value_variant_type::Type::Type5: {
5524 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
5526 case value_variant_type::Type::Type6: {
5527 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
5529 case value_variant_type::Type::Type7: {
5530 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
5532 case value_variant_type::Type::Type8: {
5533 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
5536 ossia_do_throw(std::runtime_error,
": bad type");
5539 case position::Type::Type6: {
5542 case value_variant_type::Type::Type0: {
5543 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
5545 case value_variant_type::Type::Type1: {
5546 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
5548 case value_variant_type::Type::Type2: {
5549 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
5551 case value_variant_type::Type::Type3: {
5552 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
5554 case value_variant_type::Type::Type4: {
5555 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
5557 case value_variant_type::Type::Type5: {
5558 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
5560 case value_variant_type::Type::Type6: {
5561 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
5563 case value_variant_type::Type::Type7: {
5564 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
5566 case value_variant_type::Type::Type8: {
5567 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
5570 ossia_do_throw(std::runtime_error,
": bad type");
5573 case position::Type::Type7: {
5576 case value_variant_type::Type::Type0: {
5577 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
5579 case value_variant_type::Type::Type1: {
5580 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
5582 case value_variant_type::Type::Type2: {
5583 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
5585 case value_variant_type::Type::Type3: {
5586 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
5588 case value_variant_type::Type::Type4: {
5589 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
5591 case value_variant_type::Type::Type5: {
5592 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
5594 case value_variant_type::Type::Type6: {
5595 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
5597 case value_variant_type::Type::Type7: {
5598 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
5600 case value_variant_type::Type::Type8: {
5601 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
5604 ossia_do_throw(std::runtime_error,
": bad type");
5607 case position::Type::Type8: {
5610 case value_variant_type::Type::Type0: {
5611 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
5613 case value_variant_type::Type::Type1: {
5614 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
5616 case value_variant_type::Type::Type2: {
5617 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
5619 case value_variant_type::Type::Type3: {
5620 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
5622 case value_variant_type::Type::Type4: {
5623 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
5625 case value_variant_type::Type::Type5: {
5626 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
5628 case value_variant_type::Type::Type6: {
5629 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
5631 case value_variant_type::Type::Type7: {
5632 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
5634 case value_variant_type::Type::Type8: {
5635 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
5638 ossia_do_throw(std::runtime_error,
": bad type");
5642 ossia_do_throw(std::runtime_error,
": bad type");
5645template <
typename Functor>
5646auto apply(Functor&& functor,
const speed& arg0,
const value_variant_type& arg1)
5650 case speed::Type::Type0: {
5653 case value_variant_type::Type::Type0: {
5654 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
5656 case value_variant_type::Type::Type1: {
5657 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
5659 case value_variant_type::Type::Type2: {
5660 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
5662 case value_variant_type::Type::Type3: {
5663 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
5665 case value_variant_type::Type::Type4: {
5666 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
5668 case value_variant_type::Type::Type5: {
5669 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
5671 case value_variant_type::Type::Type6: {
5672 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
5674 case value_variant_type::Type::Type7: {
5675 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
5677 case value_variant_type::Type::Type8: {
5678 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
5680 case value_variant_type::Type::Type9: {
5681 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
5684 ossia_do_throw(std::runtime_error,
": bad type");
5687 case speed::Type::Type1: {
5690 case value_variant_type::Type::Type0: {
5691 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
5693 case value_variant_type::Type::Type1: {
5694 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
5696 case value_variant_type::Type::Type2: {
5697 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
5699 case value_variant_type::Type::Type3: {
5700 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
5702 case value_variant_type::Type::Type4: {
5703 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
5705 case value_variant_type::Type::Type5: {
5706 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
5708 case value_variant_type::Type::Type6: {
5709 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
5711 case value_variant_type::Type::Type7: {
5712 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
5714 case value_variant_type::Type::Type8: {
5715 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
5717 case value_variant_type::Type::Type9: {
5718 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
5721 ossia_do_throw(std::runtime_error,
": bad type");
5724 case speed::Type::Type2: {
5727 case value_variant_type::Type::Type0: {
5728 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
5730 case value_variant_type::Type::Type1: {
5731 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
5733 case value_variant_type::Type::Type2: {
5734 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
5736 case value_variant_type::Type::Type3: {
5737 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
5739 case value_variant_type::Type::Type4: {
5740 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
5742 case value_variant_type::Type::Type5: {
5743 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
5745 case value_variant_type::Type::Type6: {
5746 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
5748 case value_variant_type::Type::Type7: {
5749 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
5751 case value_variant_type::Type::Type8: {
5752 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
5754 case value_variant_type::Type::Type9: {
5755 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
5758 ossia_do_throw(std::runtime_error,
": bad type");
5761 case speed::Type::Type3: {
5764 case value_variant_type::Type::Type0: {
5765 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
5767 case value_variant_type::Type::Type1: {
5768 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
5770 case value_variant_type::Type::Type2: {
5771 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
5773 case value_variant_type::Type::Type3: {
5774 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
5776 case value_variant_type::Type::Type4: {
5777 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
5779 case value_variant_type::Type::Type5: {
5780 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
5782 case value_variant_type::Type::Type6: {
5783 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
5785 case value_variant_type::Type::Type7: {
5786 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
5788 case value_variant_type::Type::Type8: {
5789 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
5791 case value_variant_type::Type::Type9: {
5792 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value9);
5795 ossia_do_throw(std::runtime_error,
": bad type");
5798 case speed::Type::Type4: {
5801 case value_variant_type::Type::Type0: {
5802 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
5804 case value_variant_type::Type::Type1: {
5805 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
5807 case value_variant_type::Type::Type2: {
5808 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
5810 case value_variant_type::Type::Type3: {
5811 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
5813 case value_variant_type::Type::Type4: {
5814 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
5816 case value_variant_type::Type::Type5: {
5817 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
5819 case value_variant_type::Type::Type6: {
5820 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
5822 case value_variant_type::Type::Type7: {
5823 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
5825 case value_variant_type::Type::Type8: {
5826 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
5828 case value_variant_type::Type::Type9: {
5829 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value9);
5832 ossia_do_throw(std::runtime_error,
": bad type");
5835 case speed::Type::Type5: {
5838 case value_variant_type::Type::Type0: {
5839 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
5841 case value_variant_type::Type::Type1: {
5842 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
5844 case value_variant_type::Type::Type2: {
5845 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
5847 case value_variant_type::Type::Type3: {
5848 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
5850 case value_variant_type::Type::Type4: {
5851 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
5853 case value_variant_type::Type::Type5: {
5854 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
5856 case value_variant_type::Type::Type6: {
5857 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
5859 case value_variant_type::Type::Type7: {
5860 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
5862 case value_variant_type::Type::Type8: {
5863 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
5865 case value_variant_type::Type::Type9: {
5866 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value9);
5869 ossia_do_throw(std::runtime_error,
": bad type");
5873 ossia_do_throw(std::runtime_error,
": bad type");
5876template <
typename Functor>
5877auto apply(Functor&& functor,
const timing& arg0,
const value_variant_type& arg1)
5881 case timing::Type::Type0: {
5884 case value_variant_type::Type::Type0: {
5885 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value0);
5887 case value_variant_type::Type::Type1: {
5888 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value1);
5890 case value_variant_type::Type::Type2: {
5891 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value2);
5893 case value_variant_type::Type::Type3: {
5894 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value3);
5896 case value_variant_type::Type::Type4: {
5897 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value4);
5899 case value_variant_type::Type::Type5: {
5900 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value5);
5902 case value_variant_type::Type::Type6: {
5903 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value6);
5905 case value_variant_type::Type::Type7: {
5906 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value7);
5908 case value_variant_type::Type::Type8: {
5909 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value8);
5911 case value_variant_type::Type::Type9: {
5912 return functor(arg0.m_impl.m_value0, arg1.m_impl.m_value9);
5915 ossia_do_throw(std::runtime_error,
": bad type");
5918 case timing::Type::Type1: {
5921 case value_variant_type::Type::Type0: {
5922 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value0);
5924 case value_variant_type::Type::Type1: {
5925 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value1);
5927 case value_variant_type::Type::Type2: {
5928 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value2);
5930 case value_variant_type::Type::Type3: {
5931 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value3);
5933 case value_variant_type::Type::Type4: {
5934 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value4);
5936 case value_variant_type::Type::Type5: {
5937 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value5);
5939 case value_variant_type::Type::Type6: {
5940 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value6);
5942 case value_variant_type::Type::Type7: {
5943 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value7);
5945 case value_variant_type::Type::Type8: {
5946 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value8);
5948 case value_variant_type::Type::Type9: {
5949 return functor(arg0.m_impl.m_value1, arg1.m_impl.m_value9);
5952 ossia_do_throw(std::runtime_error,
": bad type");
5955 case timing::Type::Type2: {
5958 case value_variant_type::Type::Type0: {
5959 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value0);
5961 case value_variant_type::Type::Type1: {
5962 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value1);
5964 case value_variant_type::Type::Type2: {
5965 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value2);
5967 case value_variant_type::Type::Type3: {
5968 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value3);
5970 case value_variant_type::Type::Type4: {
5971 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value4);
5973 case value_variant_type::Type::Type5: {
5974 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value5);
5976 case value_variant_type::Type::Type6: {
5977 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value6);
5979 case value_variant_type::Type::Type7: {
5980 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value7);
5982 case value_variant_type::Type::Type8: {
5983 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value8);
5985 case value_variant_type::Type::Type9: {
5986 return functor(arg0.m_impl.m_value2, arg1.m_impl.m_value9);
5989 ossia_do_throw(std::runtime_error,
": bad type");
5992 case timing::Type::Type3: {
5995 case value_variant_type::Type::Type0: {
5996 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value0);
5998 case value_variant_type::Type::Type1: {
5999 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value1);
6001 case value_variant_type::Type::Type2: {
6002 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value2);
6004 case value_variant_type::Type::Type3: {
6005 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value3);
6007 case value_variant_type::Type::Type4: {
6008 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value4);
6010 case value_variant_type::Type::Type5: {
6011 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value5);
6013 case value_variant_type::Type::Type6: {
6014 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value6);
6016 case value_variant_type::Type::Type7: {
6017 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value7);
6019 case value_variant_type::Type::Type8: {
6020 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value8);
6022 case value_variant_type::Type::Type9: {
6023 return functor(arg0.m_impl.m_value3, arg1.m_impl.m_value9);
6026 ossia_do_throw(std::runtime_error,
": bad type");
6029 case timing::Type::Type4: {
6032 case value_variant_type::Type::Type0: {
6033 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value0);
6035 case value_variant_type::Type::Type1: {
6036 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value1);
6038 case value_variant_type::Type::Type2: {
6039 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value2);
6041 case value_variant_type::Type::Type3: {
6042 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value3);
6044 case value_variant_type::Type::Type4: {
6045 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value4);
6047 case value_variant_type::Type::Type5: {
6048 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value5);
6050 case value_variant_type::Type::Type6: {
6051 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value6);
6053 case value_variant_type::Type::Type7: {
6054 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value7);
6056 case value_variant_type::Type::Type8: {
6057 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value8);
6059 case value_variant_type::Type::Type9: {
6060 return functor(arg0.m_impl.m_value4, arg1.m_impl.m_value9);
6063 ossia_do_throw(std::runtime_error,
": bad type");
6066 case timing::Type::Type5: {
6069 case value_variant_type::Type::Type0: {
6070 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value0);
6072 case value_variant_type::Type::Type1: {
6073 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value1);
6075 case value_variant_type::Type::Type2: {
6076 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value2);
6078 case value_variant_type::Type::Type3: {
6079 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value3);
6081 case value_variant_type::Type::Type4: {
6082 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value4);
6084 case value_variant_type::Type::Type5: {
6085 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value5);
6087 case value_variant_type::Type::Type6: {
6088 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value6);
6090 case value_variant_type::Type::Type7: {
6091 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value7);
6093 case value_variant_type::Type::Type8: {
6094 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value8);
6096 case value_variant_type::Type::Type9: {
6097 return functor(arg0.m_impl.m_value5, arg1.m_impl.m_value9);
6100 ossia_do_throw(std::runtime_error,
": bad type");
6103 case timing::Type::Type6: {
6106 case value_variant_type::Type::Type0: {
6107 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value0);
6109 case value_variant_type::Type::Type1: {
6110 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value1);
6112 case value_variant_type::Type::Type2: {
6113 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value2);
6115 case value_variant_type::Type::Type3: {
6116 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value3);
6118 case value_variant_type::Type::Type4: {
6119 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value4);
6121 case value_variant_type::Type::Type5: {
6122 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value5);
6124 case value_variant_type::Type::Type6: {
6125 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value6);
6127 case value_variant_type::Type::Type7: {
6128 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value7);
6130 case value_variant_type::Type::Type8: {
6131 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value8);
6133 case value_variant_type::Type::Type9: {
6134 return functor(arg0.m_impl.m_value6, arg1.m_impl.m_value9);
6137 ossia_do_throw(std::runtime_error,
": bad type");
6140 case timing::Type::Type7: {
6143 case value_variant_type::Type::Type0: {
6144 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value0);
6146 case value_variant_type::Type::Type1: {
6147 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value1);
6149 case value_variant_type::Type::Type2: {
6150 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value2);
6152 case value_variant_type::Type::Type3: {
6153 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value3);
6155 case value_variant_type::Type::Type4: {
6156 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value4);
6158 case value_variant_type::Type::Type5: {
6159 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value5);
6161 case value_variant_type::Type::Type6: {
6162 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value6);
6164 case value_variant_type::Type::Type7: {
6165 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value7);
6167 case value_variant_type::Type::Type8: {
6168 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value8);
6170 case value_variant_type::Type::Type9: {
6171 return functor(arg0.m_impl.m_value7, arg1.m_impl.m_value9);
6174 ossia_do_throw(std::runtime_error,
": bad type");
6177 case timing::Type::Type8: {
6180 case value_variant_type::Type::Type0: {
6181 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value0);
6183 case value_variant_type::Type::Type1: {
6184 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value1);
6186 case value_variant_type::Type::Type2: {
6187 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value2);
6189 case value_variant_type::Type::Type3: {
6190 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value3);
6192 case value_variant_type::Type::Type4: {
6193 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value4);
6195 case value_variant_type::Type::Type5: {
6196 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value5);
6198 case value_variant_type::Type::Type6: {
6199 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value6);
6201 case value_variant_type::Type::Type7: {
6202 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value7);
6204 case value_variant_type::Type::Type8: {
6205 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value8);
6207 case value_variant_type::Type::Type9: {
6208 return functor(arg0.m_impl.m_value8, arg1.m_impl.m_value9);
6211 ossia_do_throw(std::runtime_error,
": bad type");
6215 ossia_do_throw(std::runtime_error,
": bad type");