24 template <
typename DefaultVisitor>
26 const auto type =
node.get_node_type();
27 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
28 nodes.push_back(
node.get_shared_ptr());
30 node.visit_children(*
this);
32 template <
typename DefaultVisitor>
34 const auto type =
node.get_node_type();
35 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
36 nodes.push_back(
node.get_shared_ptr());
38 node.visit_children(*
this);
40 template <
typename DefaultVisitor>
42 const auto type =
node.get_node_type();
43 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
44 nodes.push_back(
node.get_shared_ptr());
46 node.visit_children(*
this);
48 template <
typename DefaultVisitor>
50 const auto type =
node.get_node_type();
51 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
52 nodes.push_back(
node.get_shared_ptr());
54 node.visit_children(*
this);
56 template <
typename DefaultVisitor>
58 const auto type =
node.get_node_type();
59 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
60 nodes.push_back(
node.get_shared_ptr());
62 node.visit_children(*
this);
64 template <
typename DefaultVisitor>
66 const auto type =
node.get_node_type();
67 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
68 nodes.push_back(
node.get_shared_ptr());
70 node.visit_children(*
this);
72 template <
typename DefaultVisitor>
74 const auto type =
node.get_node_type();
75 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
76 nodes.push_back(
node.get_shared_ptr());
78 node.visit_children(*
this);
80 template <
typename DefaultVisitor>
82 const auto type =
node.get_node_type();
83 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
84 nodes.push_back(
node.get_shared_ptr());
86 node.visit_children(*
this);
88 template <
typename DefaultVisitor>
90 const auto type =
node.get_node_type();
91 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
92 nodes.push_back(
node.get_shared_ptr());
94 node.visit_children(*
this);
96 template <
typename DefaultVisitor>
98 const auto type =
node.get_node_type();
99 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
100 nodes.push_back(
node.get_shared_ptr());
102 node.visit_children(*
this);
104 template <
typename DefaultVisitor>
106 const auto type =
node.get_node_type();
107 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
108 nodes.push_back(
node.get_shared_ptr());
110 node.visit_children(*
this);
112 template <
typename DefaultVisitor>
114 const auto type =
node.get_node_type();
115 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
116 nodes.push_back(
node.get_shared_ptr());
118 node.visit_children(*
this);
120 template <
typename DefaultVisitor>
122 const auto type =
node.get_node_type();
123 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
124 nodes.push_back(
node.get_shared_ptr());
126 node.visit_children(*
this);
128 template <
typename DefaultVisitor>
130 const auto type =
node.get_node_type();
131 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
132 nodes.push_back(
node.get_shared_ptr());
134 node.visit_children(*
this);
136 template <
typename DefaultVisitor>
138 const auto type =
node.get_node_type();
139 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
140 nodes.push_back(
node.get_shared_ptr());
142 node.visit_children(*
this);
144 template <
typename DefaultVisitor>
146 const auto type =
node.get_node_type();
147 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
148 nodes.push_back(
node.get_shared_ptr());
150 node.visit_children(*
this);
152 template <
typename DefaultVisitor>
154 const auto type =
node.get_node_type();
155 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
156 nodes.push_back(
node.get_shared_ptr());
158 node.visit_children(*
this);
160 template <
typename DefaultVisitor>
162 const auto type =
node.get_node_type();
163 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
164 nodes.push_back(
node.get_shared_ptr());
166 node.visit_children(*
this);
168 template <
typename DefaultVisitor>
170 const auto type =
node.get_node_type();
171 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
172 nodes.push_back(
node.get_shared_ptr());
174 node.visit_children(*
this);
176 template <
typename DefaultVisitor>
178 const auto type =
node.get_node_type();
179 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
180 nodes.push_back(
node.get_shared_ptr());
182 node.visit_children(*
this);
184 template <
typename DefaultVisitor>
186 const auto type =
node.get_node_type();
187 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
188 nodes.push_back(
node.get_shared_ptr());
190 node.visit_children(*
this);
192 template <
typename DefaultVisitor>
194 const auto type =
node.get_node_type();
195 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
196 nodes.push_back(
node.get_shared_ptr());
198 node.visit_children(*
this);
200 template <
typename DefaultVisitor>
202 const auto type =
node.get_node_type();
203 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
204 nodes.push_back(
node.get_shared_ptr());
206 node.visit_children(*
this);
208 template <
typename DefaultVisitor>
210 const auto type =
node.get_node_type();
211 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
212 nodes.push_back(
node.get_shared_ptr());
214 node.visit_children(*
this);
216 template <
typename DefaultVisitor>
218 const auto type =
node.get_node_type();
219 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
220 nodes.push_back(
node.get_shared_ptr());
222 node.visit_children(*
this);
224 template <
typename DefaultVisitor>
226 const auto type =
node.get_node_type();
227 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
228 nodes.push_back(
node.get_shared_ptr());
230 node.visit_children(*
this);
232 template <
typename DefaultVisitor>
234 const auto type =
node.get_node_type();
235 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
236 nodes.push_back(
node.get_shared_ptr());
238 node.visit_children(*
this);
240 template <
typename DefaultVisitor>
242 const auto type =
node.get_node_type();
243 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
244 nodes.push_back(
node.get_shared_ptr());
246 node.visit_children(*
this);
248 template <
typename DefaultVisitor>
250 const auto type =
node.get_node_type();
251 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
252 nodes.push_back(
node.get_shared_ptr());
254 node.visit_children(*
this);
256 template <
typename DefaultVisitor>
258 const auto type =
node.get_node_type();
259 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
260 nodes.push_back(
node.get_shared_ptr());
262 node.visit_children(*
this);
264 template <
typename DefaultVisitor>
266 const auto type =
node.get_node_type();
267 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
268 nodes.push_back(
node.get_shared_ptr());
270 node.visit_children(*
this);
272 template <
typename DefaultVisitor>
274 const auto type =
node.get_node_type();
275 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
276 nodes.push_back(
node.get_shared_ptr());
278 node.visit_children(*
this);
280 template <
typename DefaultVisitor>
282 const auto type =
node.get_node_type();
283 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
284 nodes.push_back(
node.get_shared_ptr());
286 node.visit_children(*
this);
288 template <
typename DefaultVisitor>
290 const auto type =
node.get_node_type();
291 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
292 nodes.push_back(
node.get_shared_ptr());
294 node.visit_children(*
this);
296 template <
typename DefaultVisitor>
298 const auto type =
node.get_node_type();
299 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
300 nodes.push_back(
node.get_shared_ptr());
302 node.visit_children(*
this);
304 template <
typename DefaultVisitor>
306 const auto type =
node.get_node_type();
307 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
308 nodes.push_back(
node.get_shared_ptr());
310 node.visit_children(*
this);
312 template <
typename DefaultVisitor>
314 const auto type =
node.get_node_type();
315 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
316 nodes.push_back(
node.get_shared_ptr());
318 node.visit_children(*
this);
320 template <
typename DefaultVisitor>
322 const auto type =
node.get_node_type();
323 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
324 nodes.push_back(
node.get_shared_ptr());
326 node.visit_children(*
this);
328 template <
typename DefaultVisitor>
330 const auto type =
node.get_node_type();
331 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
332 nodes.push_back(
node.get_shared_ptr());
334 node.visit_children(*
this);
336 template <
typename DefaultVisitor>
338 const auto type =
node.get_node_type();
339 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
340 nodes.push_back(
node.get_shared_ptr());
342 node.visit_children(*
this);
344 template <
typename DefaultVisitor>
346 const auto type =
node.get_node_type();
347 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
348 nodes.push_back(
node.get_shared_ptr());
350 node.visit_children(*
this);
352 template <
typename DefaultVisitor>
354 const auto type =
node.get_node_type();
355 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
356 nodes.push_back(
node.get_shared_ptr());
358 node.visit_children(*
this);
360 template <
typename DefaultVisitor>
362 const auto type =
node.get_node_type();
363 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
364 nodes.push_back(
node.get_shared_ptr());
366 node.visit_children(*
this);
368 template <
typename DefaultVisitor>
370 const auto type =
node.get_node_type();
371 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
372 nodes.push_back(
node.get_shared_ptr());
374 node.visit_children(*
this);
376 template <
typename DefaultVisitor>
378 const auto type =
node.get_node_type();
379 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
380 nodes.push_back(
node.get_shared_ptr());
382 node.visit_children(*
this);
384 template <
typename DefaultVisitor>
386 const auto type =
node.get_node_type();
387 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
388 nodes.push_back(
node.get_shared_ptr());
390 node.visit_children(*
this);
392 template <
typename DefaultVisitor>
394 const auto type =
node.get_node_type();
395 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
396 nodes.push_back(
node.get_shared_ptr());
398 node.visit_children(*
this);
400 template <
typename DefaultVisitor>
402 const auto type =
node.get_node_type();
403 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
404 nodes.push_back(
node.get_shared_ptr());
406 node.visit_children(*
this);
408 template <
typename DefaultVisitor>
410 const auto type =
node.get_node_type();
411 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
412 nodes.push_back(
node.get_shared_ptr());
414 node.visit_children(*
this);
416 template <
typename DefaultVisitor>
418 const auto type =
node.get_node_type();
419 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
420 nodes.push_back(
node.get_shared_ptr());
422 node.visit_children(*
this);
424 template <
typename DefaultVisitor>
426 const auto type =
node.get_node_type();
427 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
428 nodes.push_back(
node.get_shared_ptr());
430 node.visit_children(*
this);
432 template <
typename DefaultVisitor>
434 const auto type =
node.get_node_type();
435 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
436 nodes.push_back(
node.get_shared_ptr());
438 node.visit_children(*
this);
440 template <
typename DefaultVisitor>
442 const auto type =
node.get_node_type();
443 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
444 nodes.push_back(
node.get_shared_ptr());
446 node.visit_children(*
this);
448 template <
typename DefaultVisitor>
450 const auto type =
node.get_node_type();
451 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
452 nodes.push_back(
node.get_shared_ptr());
454 node.visit_children(*
this);
456 template <
typename DefaultVisitor>
458 const auto type =
node.get_node_type();
459 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
460 nodes.push_back(
node.get_shared_ptr());
462 node.visit_children(*
this);
464 template <
typename DefaultVisitor>
466 const auto type =
node.get_node_type();
467 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
468 nodes.push_back(
node.get_shared_ptr());
470 node.visit_children(*
this);
472 template <
typename DefaultVisitor>
474 const auto type =
node.get_node_type();
475 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
476 nodes.push_back(
node.get_shared_ptr());
478 node.visit_children(*
this);
480 template <
typename DefaultVisitor>
482 const auto type =
node.get_node_type();
483 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
484 nodes.push_back(
node.get_shared_ptr());
486 node.visit_children(*
this);
488 template <
typename DefaultVisitor>
490 const auto type =
node.get_node_type();
491 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
492 nodes.push_back(
node.get_shared_ptr());
494 node.visit_children(*
this);
496 template <
typename DefaultVisitor>
498 const auto type =
node.get_node_type();
499 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
500 nodes.push_back(
node.get_shared_ptr());
502 node.visit_children(*
this);
504 template <
typename DefaultVisitor>
506 const auto type =
node.get_node_type();
507 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
508 nodes.push_back(
node.get_shared_ptr());
510 node.visit_children(*
this);
512 template <
typename DefaultVisitor>
514 const auto type =
node.get_node_type();
515 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
516 nodes.push_back(
node.get_shared_ptr());
518 node.visit_children(*
this);
520 template <
typename DefaultVisitor>
522 const auto type =
node.get_node_type();
523 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
524 nodes.push_back(
node.get_shared_ptr());
526 node.visit_children(*
this);
528 template <
typename DefaultVisitor>
530 const auto type =
node.get_node_type();
531 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
532 nodes.push_back(
node.get_shared_ptr());
534 node.visit_children(*
this);
536 template <
typename DefaultVisitor>
538 const auto type =
node.get_node_type();
539 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
540 nodes.push_back(
node.get_shared_ptr());
542 node.visit_children(*
this);
544 template <
typename DefaultVisitor>
546 const auto type =
node.get_node_type();
547 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
548 nodes.push_back(
node.get_shared_ptr());
550 node.visit_children(*
this);
552 template <
typename DefaultVisitor>
554 const auto type =
node.get_node_type();
555 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
556 nodes.push_back(
node.get_shared_ptr());
558 node.visit_children(*
this);
560 template <
typename DefaultVisitor>
562 const auto type =
node.get_node_type();
563 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
564 nodes.push_back(
node.get_shared_ptr());
566 node.visit_children(*
this);
568 template <
typename DefaultVisitor>
570 const auto type =
node.get_node_type();
571 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
572 nodes.push_back(
node.get_shared_ptr());
574 node.visit_children(*
this);
576 template <
typename DefaultVisitor>
578 const auto type =
node.get_node_type();
579 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
580 nodes.push_back(
node.get_shared_ptr());
582 node.visit_children(*
this);
584 template <
typename DefaultVisitor>
586 const auto type =
node.get_node_type();
587 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
588 nodes.push_back(
node.get_shared_ptr());
590 node.visit_children(*
this);
592 template <
typename DefaultVisitor>
594 const auto type =
node.get_node_type();
595 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
596 nodes.push_back(
node.get_shared_ptr());
598 node.visit_children(*
this);
600 template <
typename DefaultVisitor>
602 const auto type =
node.get_node_type();
603 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
604 nodes.push_back(
node.get_shared_ptr());
606 node.visit_children(*
this);
608 template <
typename DefaultVisitor>
610 const auto type =
node.get_node_type();
611 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
612 nodes.push_back(
node.get_shared_ptr());
614 node.visit_children(*
this);
616 template <
typename DefaultVisitor>
618 const auto type =
node.get_node_type();
619 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
620 nodes.push_back(
node.get_shared_ptr());
622 node.visit_children(*
this);
624 template <
typename DefaultVisitor>
626 const auto type =
node.get_node_type();
627 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
628 nodes.push_back(
node.get_shared_ptr());
630 node.visit_children(*
this);
632 template <
typename DefaultVisitor>
634 const auto type =
node.get_node_type();
635 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
636 nodes.push_back(
node.get_shared_ptr());
638 node.visit_children(*
this);
640 template <
typename DefaultVisitor>
642 const auto type =
node.get_node_type();
643 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
644 nodes.push_back(
node.get_shared_ptr());
646 node.visit_children(*
this);
648 template <
typename DefaultVisitor>
650 const auto type =
node.get_node_type();
651 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
652 nodes.push_back(
node.get_shared_ptr());
654 node.visit_children(*
this);
656 template <
typename DefaultVisitor>
658 const auto type =
node.get_node_type();
659 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
660 nodes.push_back(
node.get_shared_ptr());
662 node.visit_children(*
this);
664 template <
typename DefaultVisitor>
666 const auto type =
node.get_node_type();
667 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
668 nodes.push_back(
node.get_shared_ptr());
670 node.visit_children(*
this);
672 template <
typename DefaultVisitor>
674 const auto type =
node.get_node_type();
675 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
676 nodes.push_back(
node.get_shared_ptr());
678 node.visit_children(*
this);
680 template <
typename DefaultVisitor>
682 const auto type =
node.get_node_type();
683 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
684 nodes.push_back(
node.get_shared_ptr());
686 node.visit_children(*
this);
688 template <
typename DefaultVisitor>
690 const auto type =
node.get_node_type();
691 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
692 nodes.push_back(
node.get_shared_ptr());
694 node.visit_children(*
this);
696 template <
typename DefaultVisitor>
698 const auto type =
node.get_node_type();
699 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
700 nodes.push_back(
node.get_shared_ptr());
702 node.visit_children(*
this);
704 template <
typename DefaultVisitor>
706 const auto type =
node.get_node_type();
707 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
708 nodes.push_back(
node.get_shared_ptr());
710 node.visit_children(*
this);
712 template <
typename DefaultVisitor>
714 const auto type =
node.get_node_type();
715 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
716 nodes.push_back(
node.get_shared_ptr());
718 node.visit_children(*
this);
720 template <
typename DefaultVisitor>
722 const auto type =
node.get_node_type();
723 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
724 nodes.push_back(
node.get_shared_ptr());
726 node.visit_children(*
this);
728 template <
typename DefaultVisitor>
730 const auto type =
node.get_node_type();
731 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
732 nodes.push_back(
node.get_shared_ptr());
734 node.visit_children(*
this);
736 template <
typename DefaultVisitor>
738 const auto type =
node.get_node_type();
739 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
740 nodes.push_back(
node.get_shared_ptr());
742 node.visit_children(*
this);
744 template <
typename DefaultVisitor>
746 const auto type =
node.get_node_type();
747 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
748 nodes.push_back(
node.get_shared_ptr());
750 node.visit_children(*
this);
752 template <
typename DefaultVisitor>
754 const auto type =
node.get_node_type();
755 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
756 nodes.push_back(
node.get_shared_ptr());
758 node.visit_children(*
this);
760 template <
typename DefaultVisitor>
762 const auto type =
node.get_node_type();
763 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
764 nodes.push_back(
node.get_shared_ptr());
766 node.visit_children(*
this);
768 template <
typename DefaultVisitor>
770 const auto type =
node.get_node_type();
771 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
772 nodes.push_back(
node.get_shared_ptr());
774 node.visit_children(*
this);
776 template <
typename DefaultVisitor>
778 const auto type =
node.get_node_type();
779 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
780 nodes.push_back(
node.get_shared_ptr());
782 node.visit_children(*
this);
784 template <
typename DefaultVisitor>
786 const auto type =
node.get_node_type();
787 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
788 nodes.push_back(
node.get_shared_ptr());
790 node.visit_children(*
this);
792 template <
typename DefaultVisitor>
794 const auto type =
node.get_node_type();
795 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
796 nodes.push_back(
node.get_shared_ptr());
798 node.visit_children(*
this);
800 template <
typename DefaultVisitor>
802 const auto type =
node.get_node_type();
803 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
804 nodes.push_back(
node.get_shared_ptr());
806 node.visit_children(*
this);
808 template <
typename DefaultVisitor>
810 const auto type =
node.get_node_type();
811 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
812 nodes.push_back(
node.get_shared_ptr());
814 node.visit_children(*
this);
816 template <
typename DefaultVisitor>
818 const auto type =
node.get_node_type();
819 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
820 nodes.push_back(
node.get_shared_ptr());
822 node.visit_children(*
this);
824 template <
typename DefaultVisitor>
826 const auto type =
node.get_node_type();
827 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
828 nodes.push_back(
node.get_shared_ptr());
830 node.visit_children(*
this);
832 template <
typename DefaultVisitor>
834 const auto type =
node.get_node_type();
835 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
836 nodes.push_back(
node.get_shared_ptr());
838 node.visit_children(*
this);
840 template <
typename DefaultVisitor>
842 const auto type =
node.get_node_type();
843 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
844 nodes.push_back(
node.get_shared_ptr());
846 node.visit_children(*
this);
848 template <
typename DefaultVisitor>
850 const auto type =
node.get_node_type();
851 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
852 nodes.push_back(
node.get_shared_ptr());
854 node.visit_children(*
this);
856 template <
typename DefaultVisitor>
858 const auto type =
node.get_node_type();
859 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
860 nodes.push_back(
node.get_shared_ptr());
862 node.visit_children(*
this);
864 template <
typename DefaultVisitor>
866 const auto type =
node.get_node_type();
867 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
868 nodes.push_back(
node.get_shared_ptr());
870 node.visit_children(*
this);
872 template <
typename DefaultVisitor>
874 const auto type =
node.get_node_type();
875 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
876 nodes.push_back(
node.get_shared_ptr());
878 node.visit_children(*
this);
880 template <
typename DefaultVisitor>
882 const auto type =
node.get_node_type();
883 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
884 nodes.push_back(
node.get_shared_ptr());
886 node.visit_children(*
this);
888 template <
typename DefaultVisitor>
890 const auto type =
node.get_node_type();
891 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
892 nodes.push_back(
node.get_shared_ptr());
894 node.visit_children(*
this);
896 template <
typename DefaultVisitor>
898 const auto type =
node.get_node_type();
899 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
900 nodes.push_back(
node.get_shared_ptr());
902 node.visit_children(*
this);
904 template <
typename DefaultVisitor>
906 const auto type =
node.get_node_type();
907 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
908 nodes.push_back(
node.get_shared_ptr());
910 node.visit_children(*
this);
912 template <
typename DefaultVisitor>
914 const auto type =
node.get_node_type();
915 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
916 nodes.push_back(
node.get_shared_ptr());
918 node.visit_children(*
this);
920 template <
typename DefaultVisitor>
922 const auto type =
node.get_node_type();
923 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
924 nodes.push_back(
node.get_shared_ptr());
926 node.visit_children(*
this);
928 template <
typename DefaultVisitor>
930 const auto type =
node.get_node_type();
931 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
932 nodes.push_back(
node.get_shared_ptr());
934 node.visit_children(*
this);
936 template <
typename DefaultVisitor>
938 const auto type =
node.get_node_type();
939 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
940 nodes.push_back(
node.get_shared_ptr());
942 node.visit_children(*
this);
944 template <
typename DefaultVisitor>
946 const auto type =
node.get_node_type();
947 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
948 nodes.push_back(
node.get_shared_ptr());
950 node.visit_children(*
this);
952 template <
typename DefaultVisitor>
954 const auto type =
node.get_node_type();
955 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
956 nodes.push_back(
node.get_shared_ptr());
958 node.visit_children(*
this);
960 template <
typename DefaultVisitor>
962 const auto type =
node.get_node_type();
963 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
964 nodes.push_back(
node.get_shared_ptr());
966 node.visit_children(*
this);
968 template <
typename DefaultVisitor>
970 const auto type =
node.get_node_type();
971 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
972 nodes.push_back(
node.get_shared_ptr());
974 node.visit_children(*
this);
976 template <
typename DefaultVisitor>
978 const auto type =
node.get_node_type();
979 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
980 nodes.push_back(
node.get_shared_ptr());
982 node.visit_children(*
this);
984 template <
typename DefaultVisitor>
986 const auto type =
node.get_node_type();
987 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
988 nodes.push_back(
node.get_shared_ptr());
990 node.visit_children(*
this);
992 template <
typename DefaultVisitor>
994 const auto type =
node.get_node_type();
995 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
996 nodes.push_back(
node.get_shared_ptr());
998 node.visit_children(*
this);
1000 template <
typename DefaultVisitor>
1002 const auto type =
node.get_node_type();
1003 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
1004 nodes.push_back(
node.get_shared_ptr());
1006 node.visit_children(*
this);
1008 template <
typename DefaultVisitor>
1010 const auto type =
node.get_node_type();
1011 if (
std::find(types.begin(), types.end(),
type) != types.end()) {
1012 nodes.push_back(
node.get_shared_ptr());
1014 node.visit_children(*
this);
1017 template <
typename DefaultVisitor>
1020 const std::vector<AstNodeType>& t_types) {
1022 this->types = t_types;
1027 template <
typename DefaultVisitor>
1032 this->types.push_back(
type);
1037 template <
typename DefaultVisitor>
1046 template class MetaAstLookupVisitor<Visitor>;
1047 template class MetaAstLookupVisitor<ConstVisitor>;
Auto generated AST classes declaration.
AstNodeType
Enum type for every AST node type.
THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.
encapsulates code generation backend implementations
static Node * node(Object *)
int find(const int, const int, const int, const int, const int)