VariantVisitor.cpp
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2012-2016, High Performance Humanoid Technologies (H2T),
5  * Karlsruhe Institute of Technology (KIT), all rights reserved.
6  *
7  * ArmarX is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * ArmarX is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  *
19  * @author Fabian Peller-Konrad (fabian dot peller-konrad at kit dot edu)
20  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
21  * GNU General Public License
22  */
23 
24 // Header
25 #include "VariantVisitor.h"
26 
27 #include "../../../type/visitor/variant/VariantVisitor.h"
28 #include "../../variant/All.h"
29 
30 namespace armarx::aron::data
31 {
32  /****************************************************************************
33  * ConstVariantVisitor
34  ***************************************************************************/
37  {
38  if (!n)
39  {
41  }
42  return n->getDescriptor();
43  }
44 
47  {
48  return GetDescriptor(n);
49  }
50 
51  void
53  {
54  auto aron = data::Dict::DynamicCastAndCheck(i);
55  visitAronVariant(aron);
56  }
57 
58  void
60  {
61  auto aron = data::List::DynamicCastAndCheck(i);
62  visitAronVariant(aron);
63  }
64 
65  void
67  {
69  visitAronVariant(aron);
70  }
71 
72  void
74  {
75  auto aron = data::Int::DynamicCastAndCheck(i);
76  visitAronVariant(aron);
77  }
78 
79  void
81  {
82  auto aron = data::Long::DynamicCastAndCheck(i);
83  visitAronVariant(aron);
84  }
85 
86  void
88  {
89  auto aron = data::Float::DynamicCastAndCheck(i);
90  visitAronVariant(aron);
91  }
92 
93  void
95  {
96  auto aron = data::Double::DynamicCastAndCheck(i);
97  visitAronVariant(aron);
98  }
99 
100  void
102  {
103  auto aron = data::Bool::DynamicCastAndCheck(i);
104  visitAronVariant(aron);
105  }
106 
107  void
109  {
110  auto aron = data::String::DynamicCastAndCheck(i);
111  visitAronVariant(aron);
112  }
113 
114  void
116  {
117  }
118 
119  void
121  {
122  }
123 
124  void
126  {
127  }
128 
129  void
131  {
132  }
133 
134  void
136  {
137  }
138 
139  void
141  {
142  }
143 
144  void
146  {
147  }
148 
149  void
151  {
152  }
153 
154  void
156  {
157  }
158 
159  /****************************************************************************
160  * ConstTypedVariantVisitor
161  ***************************************************************************/
164  {
166  if (t_desc == type::Descriptor::UNKNOWN)
167  {
168  auto d_desc = ConstVariantVisitor::GetDescriptor(i);
170  }
171  return t_desc;
172  }
173 
176  {
177  return GetDescriptor(i, n);
178  }
179 
180  void
182  {
185  visitAronVariant(d, t);
186  }
187 
188  void
190  {
193  visitAronVariant(d, t);
194  }
195 
196  void
198  {
201  visitAronVariant(d, t);
202  }
203 
204  void
206  {
209  visitAronVariant(d, t);
210  }
211 
212  void
214  {
217  visitAronVariant(d, t);
218  }
219 
220  void
222  {
225  visitAronVariant(d, t);
226  }
227 
228  void
230  {
233  visitAronVariant(d, t);
234  }
235 
236  void
238  {
241  visitAronVariant(d, t);
242  }
243 
244  void
246  {
249  visitAronVariant(d, t);
250  }
251 
252  void
254  {
257  visitAronVariant(d, t);
258  }
259 
260  void
262  {
263  auto d = data::Int::DynamicCastAndCheck(i);
265  visitAronVariant(d, t);
266  }
267 
268  void
270  {
271  auto d = data::Int::DynamicCastAndCheck(i);
272  auto t = type::Int::DynamicCastAndCheck(j);
273  visitAronVariant(d, t);
274  }
275 
276  void
278  {
281  visitAronVariant(d, t);
282  }
283 
284  void
286  {
289  visitAronVariant(d, t);
290  }
291 
292  void
294  {
297  visitAronVariant(d, t);
298  }
299 
300  void
302  {
305  visitAronVariant(d, t);
306  }
307 
308  void
310  {
313  visitAronVariant(d, t);
314  }
315 
316  void
318  {
319  }
320 
321  void
323  {
324  }
325 
326  void
328  {
329  }
330 
331  void
333  {
334  }
335 
336  void
338  {
339  }
340 
341  void
343  {
344  }
345 
346  void
348  {
349  }
350 
351  void
353  {
354  }
355 
356  void
358  {
359  }
360 
361  void
363  {
364  }
365 
366  void
368  {
369  }
370 
371  void
373  {
374  }
375 
376  void
378  {
379  }
380 
381  void
383  {
384  }
385 
386  void
388  {
389  }
390 
391  void
393  {
394  }
395 
396  void
398  {
399  }
400 
401  /****************************************************************************
402  * RecursiveConstVariantVisitor
403  ***************************************************************************/
406  {
408  }
409 
412  {
414  return x->getElements();
415  }
416 
419  {
420  return GetDictElements(n);
421  }
422 
425  {
427  return x->getElements();
428  }
429 
432  {
433  return GetListElements(n);
434  }
435 
436  void
438  {
439  auto aron = data::Dict::DynamicCastAndCheck(i);
441  }
442 
443  void
445  {
446  auto aron = data::Dict::DynamicCastAndCheck(i);
448  }
449 
450  void
452  {
453  auto aron = data::List::DynamicCastAndCheck(i);
455  }
456 
457  void
459  {
460  auto aron = data::List::DynamicCastAndCheck(i);
462  }
463 
464  void
466  {
467  auto aron = data::NDArray::DynamicCastAndCheck(i);
468  visitAronVariant(aron);
469  }
470 
471  void
473  {
474  auto aron = data::Int::DynamicCastAndCheck(i);
475  visitAronVariant(aron);
476  }
477 
478  void
480  {
481  auto aron = data::Long::DynamicCastAndCheck(i);
482  visitAronVariant(aron);
483  }
484 
485  void
487  {
488  auto aron = data::Float::DynamicCastAndCheck(i);
489  visitAronVariant(aron);
490  }
491 
492  void
494  {
495  auto aron = data::Double::DynamicCastAndCheck(i);
496  visitAronVariant(aron);
497  }
498 
499  void
501  {
502  auto aron = data::Bool::DynamicCastAndCheck(i);
503  visitAronVariant(aron);
504  }
505 
506  void
508  {
509  auto aron = data::String::DynamicCastAndCheck(i);
510  visitAronVariant(aron);
511  }
512 
513  void
515  {
516  }
517 
518  void
520  {
521  }
522 
523  void
525  {
526  }
527 
528  void
530  {
531  }
532 
533  void
535  {
536  }
537 
538  void
540  {
541  }
542 
543  void
545  {
546  }
547 
548  void
550  {
551  }
552 
553  void
555  {
556  }
557 
558  void
560  {
561  }
562 
563  void
565  {
566  }
567 
568  /****************************************************************************
569  * RecursiveVariantVisitor
570  ***************************************************************************/
573  {
575  }
576 
577  std::map<std::string, RecursiveVariantVisitor::InputNonConst>
579  {
581  }
582 
583  std::vector<RecursiveVariantVisitor::InputNonConst>
585  {
587  }
588 
589  void
591  {
592  auto aron = data::Dict::DynamicCastAndCheck(i);
594  }
595 
596  void
598  {
599  auto aron = data::Dict::DynamicCastAndCheck(i);
601  }
602 
603  void
605  {
606  auto aron = data::List::DynamicCastAndCheck(i);
608  }
609 
610  void
612  {
613  auto aron = data::List::DynamicCastAndCheck(i);
615  }
616 
617  void
619  {
620  auto aron = data::NDArray::DynamicCastAndCheck(i);
621  visitAronVariant(aron);
622  }
623 
624  void
626  {
627  auto aron = data::Int::DynamicCastAndCheck(i);
628  visitAronVariant(aron);
629  }
630 
631  void
633  {
634  auto aron = data::Long::DynamicCastAndCheck(i);
635  visitAronVariant(aron);
636  }
637 
638  void
640  {
641  auto aron = data::Float::DynamicCastAndCheck(i);
642  visitAronVariant(aron);
643  }
644 
645  void
647  {
648  auto aron = data::Double::DynamicCastAndCheck(i);
649  visitAronVariant(aron);
650  }
651 
652  void
654  {
655  auto aron = data::Bool::DynamicCastAndCheck(i);
656  visitAronVariant(aron);
657  }
658 
659  void
661  {
662  auto aron = data::String::DynamicCastAndCheck(i);
663  visitAronVariant(aron);
664  }
665 
666  void
668  {
669  }
670 
671  void
673  {
674  }
675 
676  void
678  {
679  }
680 
681  void
683  {
684  }
685 
686  void
688  {
689  }
690 
691  void
693  {
694  }
695 
696  void
698  {
699  }
700 
701  void
703  {
704  }
705 
706  void
708  {
709  }
710 
711  void
713  {
714  }
715 
716  void
718  {
719  }
720 
721  /****************************************************************************
722  * RecursiveConstTypedVariantVisitor
723  ***************************************************************************/
726  {
728  }
729 
732  {
733  std::map<std::string, std::pair<data::VariantPtr, type::VariantPtr>> ret;
736 
738 
739  if (x)
740  {
741  for (const auto& [key, e] : x->getElements())
742  {
743  auto ct = y->getMemberType(key);
744  ret.insert({key, {e, ct}});
745  }
746  }
747  return ret;
748  }
749 
752  {
753  std::map<std::string, std::pair<aron::data::VariantPtr, aron::type::VariantPtr>> ret;
756 
757  if (data)
758  {
759  for (const auto& [key, e] : data->getElements())
760  {
761  if (type && type->hasMemberType(key))
762  {
763  auto memberType = type->getMemberType(key);
764  ret.insert({key, {e, memberType}});
765  }
766  else
767  {
768  ret.insert({key, {e, nullptr}});
769  }
770  }
771  }
772  return ret;
773  }
774 
777  {
778  std::map<std::string, std::pair<data::VariantPtr, type::VariantPtr>> ret;
781 
782  auto ac = y ? y->getAcceptedType() : nullptr;
783 
784  if (x)
785  {
786  for (const auto& [key, e] : x->getElements())
787  {
788  ret.insert({key, {e, ac}});
789  }
790  }
791  return ret;
792  }
793 
796  {
797  std::vector<std::pair<data::VariantPtr, type::VariantPtr>> ret;
800 
801  auto ac = y ? y->getAcceptedType() : nullptr;
802 
803  if (x)
804  {
805  for (const auto& e : x->getElements())
806  {
807  ret.push_back({e, ac});
808  }
809  }
810  return ret;
811  }
812 
815  {
818 
820 
821  if (x)
822  {
823  auto e0 = x->getElement(0);
824  auto ac0 = y->getFirstAcceptedType();
825  auto e1 = x->getElement(1);
826  auto ac1 = y->getSecondAcceptedType();
827  return {{e0, ac0}, {e1, ac1}};
828  }
829  return {};
830  }
831 
834  {
835  std::vector<std::pair<data::VariantPtr, type::VariantPtr>> ret;
838 
840 
841  if (x)
842  {
843  unsigned int i = 0;
844  for (const auto& e : x->getElements())
845  {
846  auto ac = y->getAcceptedType(i++);
847  ret.push_back({e, ac});
848  }
849  }
850  return ret;
851  }
852 
855  {
856  return GetObjectElements(o, t);
857  }
858 
861  {
862  return GetDictElements(o, t);
863  }
864 
867  {
868  return GetListElements(o, t);
869  }
870 
873  {
874  return GetPairElements(o, t);
875  }
876 
879  {
880  return GetTupleElements(o, t);
881  }
882 
883  void
885  {
889  }
890 
891  void
893  {
897  }
898 
899  void
901  {
905  }
906 
907  void
909  {
913  }
914 
915  void
917  {
921  }
922 
923  void
925  {
929  }
930 
931  void
933  {
937  }
938 
939  void
941  {
945  }
946 
947  void
949  {
953  }
954 
955  void
957  {
961  }
962 
963  void
965  {
968  visitAronVariant(d, t);
969  }
970 
971  void
973  {
976  visitAronVariant(d, t);
977  }
978 
979  void
981  {
984  visitAronVariant(d, t);
985  }
986 
987  void
989  {
992  visitAronVariant(d, t);
993  }
994 
995  void
997  {
1000  visitAronVariant(d, t);
1001  }
1002 
1003  void
1005  {
1006  auto d = data::Int::DynamicCastAndCheck(i);
1008  visitAronVariant(d, t);
1009  }
1010 
1011  void
1013  {
1014  auto d = data::Int::DynamicCastAndCheck(i);
1015  auto t = type::Int::DynamicCastAndCheck(j);
1016  visitAronVariant(d, t);
1017  }
1018 
1019  void
1021  {
1022  auto d = data::Long::DynamicCastAndCheck(i);
1023  auto t = type::Long::DynamicCastAndCheck(j);
1024  visitAronVariant(d, t);
1025  }
1026 
1027  void
1029  {
1032  visitAronVariant(d, t);
1033  }
1034 
1035  void
1037  {
1040  visitAronVariant(d, t);
1041  }
1042 
1043  void
1045  {
1046  auto d = data::Bool::DynamicCastAndCheck(i);
1047  auto t = type::Bool::DynamicCastAndCheck(j);
1048  visitAronVariant(d, t);
1049  }
1050 
1051  void
1053  {
1056  visitAronVariant(d, t);
1057  }
1058 
1059  // see above
1060  void
1062  const type::ObjectPtr&)
1063  {
1064  }
1065 
1066  void
1068  const type::DictPtr&)
1069  {
1070  }
1071 
1072  void
1074  const type::ListPtr&)
1075  {
1076  }
1077 
1078  void
1080  const type::PairPtr&)
1081  {
1082  }
1083 
1084  void
1086  const type::TuplePtr&)
1087  {
1088  }
1089 
1090  void
1092  const type::ObjectPtr&)
1093  {
1094  }
1095 
1096  void
1098  const type::DictPtr&)
1099  {
1100  }
1101 
1102  void
1104  const type::ListPtr&)
1105  {
1106  }
1107 
1108  void
1110  const type::PairPtr&)
1111  {
1112  }
1113 
1114  void
1116  const type::TuplePtr&)
1117  {
1118  }
1119 
1120  void
1122  const type::MatrixPtr&)
1123  {
1124  }
1125 
1126  void
1128  const type::NDArrayPtr&)
1129  {
1130  }
1131 
1132  void
1134  const type::QuaternionPtr&)
1135  {
1136  }
1137 
1138  void
1140  const type::PointCloudPtr&)
1141  {
1142  }
1143 
1144  void
1146  const type::ImagePtr&)
1147  {
1148  }
1149 
1150  void
1152  const type::IntEnumPtr&)
1153  {
1154  }
1155 
1156  void
1158  {
1159  }
1160 
1161  void
1163  {
1164  }
1165 
1166  void
1168  const type::FloatPtr&)
1169  {
1170  }
1171 
1172  void
1174  const type::DoublePtr&)
1175  {
1176  }
1177 
1178  void
1180  {
1181  }
1182 
1183  void
1185  const type::StringPtr&)
1186  {
1187  }
1188 } // namespace armarx::aron::data
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetTupleElements
static TupleElements GetTupleElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:833
armarx::aron::data::RecursiveVariantVisitor::visitListOnExit
void visitListOnExit(Input &i) override
Definition: VariantVisitor.cpp:611
armarx::aron::data::RecursiveConstVariantVisitor::visitAronVariantOnEnter
virtual void visitAronVariantOnEnter(const data::DictPtr &)
Definition: VariantVisitor.cpp:514
armarx::aron::data::ConstTypedVariantVisitor::visitDouble
void visitDouble(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:293
armarx::aron::type::MatrixPtr
std::shared_ptr< class Matrix > MatrixPtr
Definition: forward_declarations.h:20
armarx::aron::ret
ReaderT::InputType T & ret
Definition: rw.h:13
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitString
void visitString(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:1052
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitObjectOnEnter
void visitObjectOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:884
armarx::aron::data::ConstVariantVisitor::visitString
void visitString(Input &i) override
Definition: VariantVisitor.cpp:108
armarx::aron::data::ConstTypedVariantVisitor::getDescriptor
type::Descriptor getDescriptor(DataInput &i, TypeInput &j) override
Definition: VariantVisitor.cpp:175
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitMatrix
void visitMatrix(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:964
armarx::aron::data::ConstTypedVariantVisitor::visitLong
void visitLong(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:277
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitListOnExit
void visitListOnExit(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:956
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitTupleOnEnter
void visitTupleOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:908
armarx::aron::data::ConstVariantVisitor::GetDescriptor
static data::Descriptor GetDescriptor(Input &n)
Definition: VariantVisitor.cpp:36
armarx::aron::data::RecursiveVariantVisitor::visitDouble
void visitDouble(Input &i) override
Definition: VariantVisitor.cpp:646
armarx::aron::type::ImagePtr
std::shared_ptr< class Image > ImagePtr
Definition: forward_declarations.h:22
armarx::aron::type::NDArrayPtr
std::shared_ptr< class NDArray > NDArrayPtr
Definition: forward_declarations.h:19
armarx::aron::data::ConstTypedVariantVisitor::visitAronVariant
virtual void visitAronVariant(const data::DictPtr &, const type::ObjectPtr &)
Definition: VariantVisitor.cpp:317
armarx::aron::data::RecursiveConstTypedVariantVisitor::getTupleElements
TupleElements getTupleElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:878
armarx::aron::data::RecursiveConstVariantVisitor::visitAronVariantOnExit
virtual void visitAronVariantOnExit(const data::DictPtr &)
Definition: VariantVisitor.cpp:524
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetPairElements
static PairElements GetPairElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:814
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitObjectOnExit
void visitObjectOnExit(DataInput &i, TypeInput &j) override
Definition: VariantVisitor.cpp:924
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitBool
void visitBool(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:1044
ARMARX_CHECK_NOT_NULL
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
Definition: ExpressionException.h:206
armarx::aron::data::RecursiveVariantVisitor::visitFloat
void visitFloat(Input &i) override
Definition: VariantVisitor.cpp:639
armarx::aron::data::ConstTypedVariantVisitor::visitMatrix
void visitMatrix(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:221
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitAronVariantOnExit
virtual void visitAronVariantOnExit(const data::DictPtr &, const type::ObjectPtr &)
Definition: VariantVisitor.cpp:1091
armarx::aron::data::RecursiveConstVariantVisitor::visitBool
void visitBool(Input &i) override
Definition: VariantVisitor.cpp:500
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitAronVariantOnEnter
virtual void visitAronVariantOnEnter(const data::DictPtr &, const type::ObjectPtr &)
Definition: VariantVisitor.cpp:1061
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitDictOnExit
void visitDictOnExit(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:932
armarx::aron::data::LongPtr
std::shared_ptr< Long > LongPtr
Definition: forward_declarations.h:26
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitTupleOnExit
void visitTupleOnExit(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:948
armarx::aron::data::RecursiveConstVariantVisitor::visitDictOnExit
void visitDictOnExit(Input &i) override
Definition: VariantVisitor.cpp:444
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitAronVariant
virtual void visitAronVariant(const data::NDArrayPtr &, const type::MatrixPtr &)
Definition: VariantVisitor.cpp:1121
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::MapElements
std::map< std::string, std::pair< DataInputNonConst, TypeInputNonConst > > MapElements
Definition: RecursiveVisitor.h:92
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetObjectElementsWithNullType
static MapElements GetObjectElementsWithNullType(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:751
armarx::aron::data::NDArrayPtr
std::shared_ptr< NDArray > NDArrayPtr
Definition: NDArray.h:46
armarx::aron::data::Descriptor
Descriptor
Definition: Descriptor.h:179
armarx::aron::data::defaultconversion::Data2TypeDescriptor
const std::map< Descriptor, aron::type::Descriptor > Data2TypeDescriptor
Definition: Descriptor.h:245
armarx::aron::data::DoublePtr
std::shared_ptr< Double > DoublePtr
Definition: forward_declarations.h:32
armarx::aron::data::RecursiveVisitor< const data::VariantPtr >::Input
typename VisitorBase< const data::VariantPtr >::Input Input
Definition: RecursiveVisitor.h:39
armarx::aron::data::ConstVariantVisitor::visitDouble
void visitDouble(Input &i) override
Definition: VariantVisitor.cpp:94
armarx::aron::type::TuplePtr
std::shared_ptr< class Tuple > TuplePtr
Definition: forward_declarations.h:17
armarx::aron::data::RecursiveVariantVisitor::visitBool
void visitBool(Input &i) override
Definition: VariantVisitor.cpp:653
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::PairElements
std::pair< std::pair< DataInputNonConst, TypeInputNonConst >, std::pair< DataInputNonConst, TypeInputNonConst > > PairElements
Definition: RecursiveVisitor.h:95
armarx::aron::data::detail::SpecializedVariantBase< data::dto::Dict, Dict >::DynamicCastAndCheck
static PointerType DynamicCastAndCheck(const VariantPtr &n)
Definition: SpecializedVariant.h:134
armarx::aron::data::RecursiveConstVariantVisitor::visitDictOnEnter
void visitDictOnEnter(Input &i) override
Definition: VariantVisitor.cpp:437
armarx::aron::type::PointCloudPtr
std::shared_ptr< class PointCloud > PointCloudPtr
Definition: forward_declarations.h:23
armarx::aron::data::ConstTypedVariantVisitor::visitQuaternion
void visitQuaternion(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:237
armarx::aron::data::ConstTypedVariantVisitor::visitString
void visitString(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:309
armarx::aron::data::RecursiveConstVariantVisitor::visitLong
void visitLong(Input &i) override
Definition: VariantVisitor.cpp:479
armarx::aron::data::RecursiveVariantVisitor::visitDictOnExit
void visitDictOnExit(Input &i) override
Definition: VariantVisitor.cpp:597
armarx::aron::type::FloatPtr
std::shared_ptr< class Float > FloatPtr
Definition: forward_declarations.h:29
armarx::aron::data::ConstTypedVariantVisitor::visitFloat
void visitFloat(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:285
armarx::aron::data::RecursiveVariantVisitor::getDictElements
std::map< std::string, InputNonConst > getDictElements(Input &n) override
Definition: VariantVisitor.cpp:578
armarx::aron::data::detail::SpecializedVariantBase< data::dto::Dict, Dict >::DynamicCast
static PointerType DynamicCast(const VariantPtr &n)
Definition: SpecializedVariant.h:116
armarx::aron::data::ConstTypedVariantVisitor::visitImage
void visitImage(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:245
armarx::aron::data::RecursiveVariantVisitor::visitListOnEnter
void visitListOnEnter(Input &i) override
Definition: VariantVisitor.cpp:604
armarx::aron::data::ConstTypedVariantVisitor::visitDict
void visitDict(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:189
armarx::aron::data::ConstVariantVisitor::visitInt
void visitInt(Input &i) override
Definition: VariantVisitor.cpp:73
armarx::aron::data::ConstTypedVariantVisitor::visitInt
void visitInt(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:269
armarx::aron::data::RecursiveConstVariantVisitor::getListElements
ListElements getListElements(Input &n) override
Definition: VariantVisitor.cpp:431
armarx::aron::type::ListPtr
std::shared_ptr< class List > ListPtr
Definition: forward_declarations.h:14
armarx::aron::type::LongPtr
std::shared_ptr< class Long > LongPtr
Definition: forward_declarations.h:28
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitPairOnExit
void visitPairOnExit(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:940
armarx::aron::data::ConstVariantVisitor::visitNDArray
void visitNDArray(Input &i) override
Definition: VariantVisitor.cpp:66
armarx::aron::data::RecursiveConstVariantVisitor::visitInt
void visitInt(Input &i) override
Definition: VariantVisitor.cpp:472
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitPairOnEnter
void visitPairOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:900
armarx::aron::data::ConstVariantVisitor::visitFloat
void visitFloat(Input &i) override
Definition: VariantVisitor.cpp:87
armarx::aron::type::StringPtr
std::shared_ptr< class String > StringPtr
Definition: forward_declarations.h:31
armarx::aron::data::RecursiveConstVariantVisitor::visitAronVariant
virtual void visitAronVariant(const data::NDArrayPtr &)
Definition: VariantVisitor.cpp:534
armarx::aron::data::RecursiveConstVariantVisitor::getDescriptor
data::Descriptor getDescriptor(Input &n) override
Definition: VariantVisitor.cpp:405
armarx::aron::data::RecursiveConstVariantVisitor::getDictElements
MapElements getDictElements(Input &n) override
Definition: VariantVisitor.cpp:418
armarx::aron::data::ConstTypedVariantVisitor::visitIntEnum
void visitIntEnum(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:261
armarx::aron::data::RecursiveConstTypedVariantVisitor::getDictElements
MapElements getDictElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:860
armarx::aron::data::ConstVariantVisitor::visitDict
void visitDict(Input &i) override
Definition: VariantVisitor.cpp:52
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::TypeInput
typename TypedVisitorBase< const data::VariantPtr, const type::VariantPtr >::TypeInput TypeInput
Definition: RecursiveVisitor.h:87
armarx::aron::data::RecursiveConstVariantVisitor::GetListElements
static ListElements GetListElements(Input &n)
Definition: VariantVisitor.cpp:424
armarx::aron::data::RecursiveVariantVisitor::visitDictOnEnter
void visitDictOnEnter(Input &i) override
Definition: VariantVisitor.cpp:590
data
uint8_t data[1]
Definition: EtherCATFrame.h:68
armarx::aron::data::RecursiveVariantVisitor::getDescriptor
data::Descriptor getDescriptor(Input &n) override
Definition: VariantVisitor.cpp:572
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitFloat
void visitFloat(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:1028
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitDictOnEnter
void visitDictOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:892
armarx::aron::type::PairPtr
std::shared_ptr< class Pair > PairPtr
Definition: forward_declarations.h:16
armarx::aron::type::DictPtr
std::shared_ptr< class Dict > DictPtr
Definition: forward_declarations.h:13
armarx::aron::data::RecursiveConstTypedVariantVisitor::getDescriptor
type::Descriptor getDescriptor(DataInput &o, TypeInput &n) override
Definition: VariantVisitor.cpp:725
armarx::aron::data::RecursiveVariantVisitor::getListElements
std::vector< InputNonConst > getListElements(Input &n) override
Definition: VariantVisitor.cpp:584
armarx::aron::data::RecursiveConstVariantVisitor::visitString
void visitString(Input &i) override
Definition: VariantVisitor.cpp:507
armarx::aron::data::TypedVisitorBase< const data::VariantPtr, const type::VariantPtr >::DataInput
const data::VariantPtr DataInput
Definition: Visitor.h:53
armarx::aron::type::BoolPtr
std::shared_ptr< class Bool > BoolPtr
Definition: forward_declarations.h:32
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitInt
void visitInt(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:1012
armarx::aron::data::RecursiveVariantVisitor::visitNDArray
void visitNDArray(Input &i) override
Definition: VariantVisitor.cpp:618
armarx::aron::data
A convenience header to include all aron files (full include, not forward declared)
Definition: aron_conversions.cpp:3
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::DataInput
typename TypedVisitorBase< const data::VariantPtr, const type::VariantPtr >::DataInput DataInput
Definition: RecursiveVisitor.h:86
armarx::aron::data::ConstVariantVisitor::visitLong
void visitLong(Input &i) override
Definition: VariantVisitor.cpp:80
armarx::aron::data::RecursiveConstVariantVisitor::visitListOnEnter
void visitListOnEnter(Input &i) override
Definition: VariantVisitor.cpp:451
armarx::aron::data::ConstTypedVariantVisitor::visitObject
void visitObject(DataInput &i, TypeInput &j) override
Definition: VariantVisitor.cpp:181
armarx::aron::data::ConstTypedVariantVisitor::visitNDArray
void visitNDArray(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:229
armarx::aron::data::ConstVariantVisitor::visitBool
void visitBool(Input &i) override
Definition: VariantVisitor.cpp:101
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::aron::data::RecursiveConstVariantVisitor::visitNDArray
void visitNDArray(Input &i) override
Definition: VariantVisitor.cpp:465
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitListOnEnter
void visitListOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:916
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetDictElements
static MapElements GetDictElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:776
armarx::aron::data::ConstVariantVisitor::visitAronVariant
virtual void visitAronVariant(const data::DictPtr &)
Definition: VariantVisitor.cpp:115
armarx::aron::data::TypedVisitorBase< const data::VariantPtr, const type::VariantPtr >::TypeInput
const type::VariantPtr TypeInput
Definition: Visitor.h:54
armarx::aron::data::RecursiveVariantVisitor::visitAronVariantOnEnter
virtual void visitAronVariantOnEnter(data::DictPtr &)
Definition: VariantVisitor.cpp:667
armarx::aron::data::RecursiveVariantVisitor::visitLong
void visitLong(Input &i) override
Definition: VariantVisitor.cpp:632
VariantVisitor.h
armarx::aron::data::RecursiveVariantVisitor::visitAronVariant
virtual void visitAronVariant(data::NDArrayPtr &)
Definition: VariantVisitor.cpp:687
armarx::aron::type::Descriptor::UNKNOWN
@ UNKNOWN
armarx::aron::type::detail::SpecializedVariantBase< type::dto::AronObject, Object >::DynamicCastAndCheck
static std::shared_ptr< Object > DynamicCastAndCheck(const VariantPtr &n)
Definition: SpecializedVariant.h:119
armarx::aron::data::ConstVariantVisitor::getDescriptor
data::Descriptor getDescriptor(Input &n) override
Definition: VariantVisitor.cpp:46
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitLong
void visitLong(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:1020
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetObjectElements
static MapElements GetObjectElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:731
armarx::aron::data::FloatPtr
std::shared_ptr< Float > FloatPtr
Definition: forward_declarations.h:29
armarx::aron::data::RecursiveConstVariantVisitor::visitFloat
void visitFloat(Input &i) override
Definition: VariantVisitor.cpp:486
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::ListElements
std::vector< std::pair< DataInputNonConst, TypeInputNonConst > > ListElements
Definition: RecursiveVisitor.h:93
armarx::aron::data::ConstTypedVariantVisitor::visitTuple
void visitTuple(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:205
armarx::aron::data::ConstTypedVariantVisitor::visitBool
void visitBool(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:301
armarx::aron::data::StringPtr
std::shared_ptr< String > StringPtr
Definition: forward_declarations.h:35
armarx::aron::data::ConstTypedVariantVisitor::visitPair
void visitPair(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:197
armarx::aron::type::ConstVariantVisitor::GetDescriptor
static type::Descriptor GetDescriptor(Input &n)
Definition: VariantVisitor.cpp:35
armarx::aron::data::ConstVariantVisitor::visitList
void visitList(Input &i) override
Definition: VariantVisitor.cpp:59
armarx::aron::type::IntEnumPtr
std::shared_ptr< IntEnum > IntEnumPtr
Definition: IntEnum.h:36
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitDouble
void visitDouble(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:1036
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitNDArray
void visitNDArray(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:972
armarx::aron::data::RecursiveConstVariantVisitor::GetDictElements
static MapElements GetDictElements(Input &n)
Definition: VariantVisitor.cpp:411
armarx::aron::data::RecursiveVisitor< const data::VariantPtr >::ListElements
std::vector< InputNonConst > ListElements
Definition: RecursiveVisitor.h:43
armarx::aron::data::IntPtr
std::shared_ptr< Int > IntPtr
Definition: forward_declarations.h:23
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitIntEnum
void visitIntEnum(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:1004
armarx::aron::data::RecursiveConstTypedVariantVisitor::getListElements
ListElements getListElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:866
armarx::aron::data::Descriptor::UNKNOWN
@ UNKNOWN
armarx::aron::type::QuaternionPtr
std::shared_ptr< class Quaternion > QuaternionPtr
Definition: forward_declarations.h:21
armarx::aron::type::IntPtr
std::shared_ptr< class Int > IntPtr
Definition: forward_declarations.h:27
armarx::aron::data::RecursiveConstTypedVariantVisitor::getObjectElements
MapElements getObjectElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:854
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitImage
void visitImage(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:988
armarx::aron::type::Descriptor
Descriptor
Definition: Descriptor.h:69
armarx::aron::type::DoublePtr
std::shared_ptr< class Double > DoublePtr
Definition: forward_declarations.h:30
armarx::aron::data::ListPtr
std::shared_ptr< List > ListPtr
Definition: List.h:40
armarx::aron::data::RecursiveVisitor< const data::VariantPtr >::MapElements
std::map< std::string, InputNonConst > MapElements
Definition: RecursiveVisitor.h:42
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitQuaternion
void visitQuaternion(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:980
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetListElements
static ListElements GetListElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:795
armarx::aron::data::ConstTypedVariantVisitor::visitList
void visitList(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:213
armarx::aron::data::ConstTypedVariantVisitor::visitPointCloud
void visitPointCloud(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:253
armarx::aron::data::VisitorBase< const data::VariantPtr >::Input
const data::VariantPtr Input
Definition: Visitor.h:41
armarx::aron::data::RecursiveConstTypedVariantVisitor::getPairElements
PairElements getPairElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:872
armarx::aron::data::RecursiveVariantVisitor::visitInt
void visitInt(Input &i) override
Definition: VariantVisitor.cpp:625
armarx::aron::data::RecursiveConstVariantVisitor::visitDouble
void visitDouble(Input &i) override
Definition: VariantVisitor.cpp:493
armarx::aron::data::RecursiveVariantVisitor::visitString
void visitString(Input &i) override
Definition: VariantVisitor.cpp:660
armarx::aron::data::RecursiveVariantVisitor::visitAronVariantOnExit
virtual void visitAronVariantOnExit(data::DictPtr &)
Definition: VariantVisitor.cpp:677
armarx::aron::data::ConstTypedVariantVisitor::GetDescriptor
static type::Descriptor GetDescriptor(DataInput &i, TypeInput &j)
Definition: VariantVisitor.cpp:163
armarx::aron::data::RecursiveConstVariantVisitor::visitListOnExit
void visitListOnExit(Input &i) override
Definition: VariantVisitor.cpp:458
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::TupleElements
std::vector< std::pair< DataInputNonConst, TypeInputNonConst > > TupleElements
Definition: RecursiveVisitor.h:96
armarx::aron::data::BoolPtr
std::shared_ptr< Bool > BoolPtr
Definition: forward_declarations.h:38
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitPointCloud
void visitPointCloud(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:996