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>;