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 "../../variant/All.h"
28 #include "../../../type/visitor/variant/VariantVisitor.h"
29 
30 namespace armarx::aron::data
31 {
32  /****************************************************************************
33  * ConstVariantVisitor
34  ***************************************************************************/
36  {
37  if (!n)
38  {
40  }
41  return n->getDescriptor();
42  }
43 
45  {
46  return GetDescriptor(n);
47  }
48 
50  {
51  auto aron = data::Dict::DynamicCastAndCheck(i);
52  visitAronVariant(aron);
53  }
54 
56  {
57  auto aron = data::List::DynamicCastAndCheck(i);
58  visitAronVariant(aron);
59  }
60 
62  {
64  visitAronVariant(aron);
65  }
66 
68  {
69  auto aron = data::Int::DynamicCastAndCheck(i);
70  visitAronVariant(aron);
71  }
72 
74  {
75  auto aron = data::Long::DynamicCastAndCheck(i);
76  visitAronVariant(aron);
77  }
78 
80  {
81  auto aron = data::Float::DynamicCastAndCheck(i);
82  visitAronVariant(aron);
83  }
84 
86  {
87  auto aron = data::Double::DynamicCastAndCheck(i);
88  visitAronVariant(aron);
89  }
90 
92  {
93  auto aron = data::Bool::DynamicCastAndCheck(i);
94  visitAronVariant(aron);
95  }
96 
98  {
99  auto aron = data::String::DynamicCastAndCheck(i);
100  visitAronVariant(aron);
101  }
102 
112 
113 
114  /****************************************************************************
115  * ConstTypedVariantVisitor
116  ***************************************************************************/
118  {
120  if (t_desc == type::Descriptor::UNKNOWN)
121  {
122  auto d_desc = ConstVariantVisitor::GetDescriptor(i);
124  }
125  return t_desc;
126  }
127 
129  {
130  return GetDescriptor(i, n);
131  }
132 
134  {
137  visitAronVariant(d, t);
138  }
139 
141  {
144  visitAronVariant(d, t);
145  }
146 
148  {
151  visitAronVariant(d, t);
152  }
153 
155  {
158  visitAronVariant(d, t);
159  }
160 
162  {
165  visitAronVariant(d, t);
166  }
167 
169  {
172  visitAronVariant(d, t);
173  }
174 
176  {
179  visitAronVariant(d, t);
180  }
181 
183  {
186  visitAronVariant(d, t);
187  }
188 
190  {
193  visitAronVariant(d, t);
194  }
195 
197  {
200  visitAronVariant(d, t);
201  }
202 
204  {
205  auto d = data::Int::DynamicCastAndCheck(i);
207  visitAronVariant(d, t);
208  }
209 
211  {
212  auto d = data::Int::DynamicCastAndCheck(i);
213  auto t = type::Int::DynamicCastAndCheck(j);
214  visitAronVariant(d, t);
215  }
216 
218  {
221  visitAronVariant(d, t);
222  }
223 
225  {
228  visitAronVariant(d, t);
229  }
230 
232  {
235  visitAronVariant(d, t);
236  }
237 
239  {
242  visitAronVariant(d, t);
243  }
244 
246  {
249  visitAronVariant(d, t);
250  }
251 
269 
270 
271 
272  /****************************************************************************
273  * RecursiveConstVariantVisitor
274  ***************************************************************************/
276  {
278  }
279 
281  {
283  return x->getElements();
284  }
285 
287  {
288  return GetDictElements(n);
289  }
290 
292  {
294  return x->getElements();
295  }
296 
298  {
299  return GetListElements(n);
300  }
301 
303  {
304  auto aron = data::Dict::DynamicCastAndCheck(i);
306  }
307 
309  {
310  auto aron = data::Dict::DynamicCastAndCheck(i);
312  }
313 
315  {
316  auto aron = data::List::DynamicCastAndCheck(i);
318  }
319 
321  {
322  auto aron = data::List::DynamicCastAndCheck(i);
324  }
325 
327  {
328  auto aron = data::NDArray::DynamicCastAndCheck(i);
329  visitAronVariant(aron);
330  }
331 
333  {
334  auto aron = data::Int::DynamicCastAndCheck(i);
335  visitAronVariant(aron);
336  }
337 
339  {
340  auto aron = data::Long::DynamicCastAndCheck(i);
341  visitAronVariant(aron);
342  }
343 
345  {
346  auto aron = data::Float::DynamicCastAndCheck(i);
347  visitAronVariant(aron);
348  }
349 
351  {
352  auto aron = data::Double::DynamicCastAndCheck(i);
353  visitAronVariant(aron);
354  }
355 
357  {
358  auto aron = data::Bool::DynamicCastAndCheck(i);
359  visitAronVariant(aron);
360  }
361 
363  {
364  auto aron = data::String::DynamicCastAndCheck(i);
365  visitAronVariant(aron);
366  }
367 
379 
380 
381 
382  /****************************************************************************
383  * RecursiveVariantVisitor
384  ***************************************************************************/
386  {
388  }
389 
390  std::map<std::string, RecursiveVariantVisitor::InputNonConst> RecursiveVariantVisitor::getDictElements(Input& n)
391  {
393  }
394 
395  std::vector<RecursiveVariantVisitor::InputNonConst> RecursiveVariantVisitor::getListElements(Input& n)
396  {
398  }
399 
401  {
402  auto aron = data::Dict::DynamicCastAndCheck(i);
404  }
405 
407  {
408  auto aron = data::Dict::DynamicCastAndCheck(i);
410  }
411 
413  {
414  auto aron = data::List::DynamicCastAndCheck(i);
416  }
417 
419  {
420  auto aron = data::List::DynamicCastAndCheck(i);
422  }
423 
425  {
426  auto aron = data::NDArray::DynamicCastAndCheck(i);
427  visitAronVariant(aron);
428  }
429 
431  {
432  auto aron = data::Int::DynamicCastAndCheck(i);
433  visitAronVariant(aron);
434  }
435 
437  {
438  auto aron = data::Long::DynamicCastAndCheck(i);
439  visitAronVariant(aron);
440  }
441 
443  {
444  auto aron = data::Float::DynamicCastAndCheck(i);
445  visitAronVariant(aron);
446  }
447 
449  {
450  auto aron = data::Double::DynamicCastAndCheck(i);
451  visitAronVariant(aron);
452  }
453 
455  {
456  auto aron = data::Bool::DynamicCastAndCheck(i);
457  visitAronVariant(aron);
458  }
459 
461  {
462  auto aron = data::String::DynamicCastAndCheck(i);
463  visitAronVariant(aron);
464  }
465 
477 
478 
479  /****************************************************************************
480  * RecursiveConstTypedVariantVisitor
481  ***************************************************************************/
483  {
485  }
486 
489  {
490  std::map<std::string, std::pair<data::VariantPtr, type::VariantPtr>> ret;
493 
495 
496  if (x)
497  {
498  for (const auto& [key, e] : x->getElements())
499  {
500  auto ct = y->getMemberType(key);
501  ret.insert({key, {e, ct}});
502  }
503  }
504  return ret;
505  }
506 
509  {
510  std::map<std::string, std::pair<aron::data::VariantPtr, aron::type::VariantPtr>> ret;
513 
514  if (data)
515  {
516  for (const auto& [key, e] : data->getElements())
517  {
518  if (type && type->hasMemberType(key))
519  {
520  auto memberType = type->getMemberType(key);
521  ret.insert({key, {e, memberType}});
522  }
523  else
524  {
525  ret.insert({key, {e, nullptr}});
526  }
527  }
528  }
529  return ret;
530  }
531 
534  {
535  std::map<std::string, std::pair<data::VariantPtr, type::VariantPtr>> ret;
538 
539  auto ac = y ? y->getAcceptedType() : nullptr;
540 
541  if (x)
542  {
543  for (const auto& [key, e] : x->getElements())
544  {
545  ret.insert({key, {e, ac}});
546  }
547  }
548  return ret;
549  }
550 
553  {
554  std::vector<std::pair<data::VariantPtr, type::VariantPtr>> ret;
557 
558  auto ac = y ? y->getAcceptedType() : nullptr;
559 
560  if (x)
561  {
562  for (const auto& e : x->getElements())
563  {
564  ret.push_back({e, ac});
565  }
566  }
567  return ret;
568  }
569 
572  {
575 
577 
578  if (x)
579  {
580  auto e0 = x->getElement(0);
581  auto ac0 = y->getFirstAcceptedType();
582  auto e1 = x->getElement(1);
583  auto ac1 = y->getSecondAcceptedType();
584  return {{e0, ac0}, {e1, ac1}};
585  }
586  return {};
587  }
588 
591  {
592  std::vector<std::pair<data::VariantPtr, type::VariantPtr>> ret;
595 
597 
598  if (x)
599  {
600  unsigned int i = 0;
601  for (const auto& e : x->getElements())
602  {
603  auto ac = y->getAcceptedType(i++);
604  ret.push_back({e, ac});
605  }
606  }
607  return ret;
608  }
609 
612  {
613  return GetObjectElements(o, t);
614  }
615 
618  {
619  return GetDictElements(o, t);
620  }
621 
624  {
625  return GetListElements(o, t);
626  }
627 
630  {
631  return GetPairElements(o, t);
632  }
633 
636  {
637  return GetTupleElements(o, t);
638  }
639 
641  {
645  }
646 
648  {
652  }
653 
655  {
659  }
660 
662  {
666  }
667 
669  {
673  }
674 
676  {
680  }
681 
683  {
687  }
688 
690  {
694  }
695 
697  {
701  }
702 
704  {
708  }
709 
711  {
714  visitAronVariant(d, t);
715  }
716 
718  {
721  visitAronVariant(d, t);
722  }
723 
725  {
728  visitAronVariant(d, t);
729  }
730 
732  {
735  visitAronVariant(d, t);
736  }
737 
739  {
742  visitAronVariant(d, t);
743  }
744 
746  {
747  auto d = data::Int::DynamicCastAndCheck(i);
749  visitAronVariant(d, t);
750  }
751 
753  {
754  auto d = data::Int::DynamicCastAndCheck(i);
755  auto t = type::Int::DynamicCastAndCheck(j);
756  visitAronVariant(d, t);
757  }
758 
760  {
763  visitAronVariant(d, t);
764  }
765 
767  {
770  visitAronVariant(d, t);
771  }
772 
774  {
777  visitAronVariant(d, t);
778  }
779 
781  {
784  visitAronVariant(d, t);
785  }
786 
788  {
791  visitAronVariant(d, t);
792  }
793 
794 
795  // see above
818 }
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetTupleElements
static TupleElements GetTupleElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:590
armarx::aron::data::RecursiveVariantVisitor::visitListOnExit
void visitListOnExit(Input &i) override
Definition: VariantVisitor.cpp:418
armarx::aron::data::RecursiveConstVariantVisitor::visitAronVariantOnEnter
virtual void visitAronVariantOnEnter(const data::DictPtr &)
Definition: VariantVisitor.cpp:368
armarx::aron::data::ConstTypedVariantVisitor::visitDouble
void visitDouble(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:231
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:21
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitString
void visitString(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:787
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitObjectOnEnter
void visitObjectOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:640
armarx::aron::data::ConstVariantVisitor::visitString
void visitString(Input &i) override
Definition: VariantVisitor.cpp:97
armarx::aron::data::ConstTypedVariantVisitor::getDescriptor
type::Descriptor getDescriptor(DataInput &i, TypeInput &j) override
Definition: VariantVisitor.cpp:128
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitMatrix
void visitMatrix(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:710
armarx::aron::data::ConstTypedVariantVisitor::visitLong
void visitLong(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:217
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitListOnExit
void visitListOnExit(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:703
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitTupleOnEnter
void visitTupleOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:661
armarx::aron::data::ConstVariantVisitor::GetDescriptor
static data::Descriptor GetDescriptor(Input &n)
Definition: VariantVisitor.cpp:35
armarx::aron::data::RecursiveVariantVisitor::visitDouble
void visitDouble(Input &i) override
Definition: VariantVisitor.cpp:448
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:252
armarx::aron::data::RecursiveConstTypedVariantVisitor::getTupleElements
TupleElements getTupleElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:635
armarx::aron::data::RecursiveConstVariantVisitor::visitAronVariantOnExit
virtual void visitAronVariantOnExit(const data::DictPtr &)
Definition: VariantVisitor.cpp:370
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetPairElements
static PairElements GetPairElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:571
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitObjectOnExit
void visitObjectOnExit(DataInput &i, TypeInput &j) override
Definition: VariantVisitor.cpp:675
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitBool
void visitBool(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:780
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:442
armarx::aron::data::ConstTypedVariantVisitor::visitMatrix
void visitMatrix(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:168
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitAronVariantOnExit
virtual void visitAronVariantOnExit(const data::DictPtr &, const type::ObjectPtr &)
Definition: VariantVisitor.cpp:801
armarx::aron::data::RecursiveConstVariantVisitor::visitBool
void visitBool(Input &i) override
Definition: VariantVisitor.cpp:356
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitAronVariantOnEnter
virtual void visitAronVariantOnEnter(const data::DictPtr &, const type::ObjectPtr &)
Definition: VariantVisitor.cpp:796
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitDictOnExit
void visitDictOnExit(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:682
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:696
armarx::aron::data::RecursiveConstVariantVisitor::visitDictOnExit
void visitDictOnExit(Input &i) override
Definition: VariantVisitor.cpp:308
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitAronVariant
virtual void visitAronVariant(const data::NDArrayPtr &, const type::MatrixPtr &)
Definition: VariantVisitor.cpp:806
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::MapElements
std::map< std::string, std::pair< DataInputNonConst, TypeInputNonConst > > MapElements
Definition: RecursiveVisitor.h:86
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetObjectElementsWithNullType
static MapElements GetObjectElementsWithNullType(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:508
armarx::aron::data::NDArrayPtr
std::shared_ptr< NDArray > NDArrayPtr
Definition: NDArray.h:46
armarx::aron::data::Descriptor
Descriptor
Definition: Descriptor.h:193
armarx::aron::data::defaultconversion::Data2TypeDescriptor
const std::map< Descriptor, aron::type::Descriptor > Data2TypeDescriptor
Definition: Descriptor.h:263
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:85
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:454
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:88
armarx::aron::data::detail::SpecializedVariantBase< data::dto::Dict, Dict >::DynamicCastAndCheck
static PointerType DynamicCastAndCheck(const VariantPtr &n)
Definition: SpecializedVariant.h:135
armarx::aron::data::RecursiveConstVariantVisitor::visitDictOnEnter
void visitDictOnEnter(Input &i) override
Definition: VariantVisitor.cpp:302
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:182
armarx::aron::data::ConstTypedVariantVisitor::visitString
void visitString(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:245
armarx::aron::data::RecursiveConstVariantVisitor::visitLong
void visitLong(Input &i) override
Definition: VariantVisitor.cpp:338
armarx::aron::data::RecursiveVariantVisitor::visitDictOnExit
void visitDictOnExit(Input &i) override
Definition: VariantVisitor.cpp:406
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:224
armarx::aron::data::RecursiveVariantVisitor::getDictElements
std::map< std::string, InputNonConst > getDictElements(Input &n) override
Definition: VariantVisitor.cpp:390
armarx::aron::data::ConstTypedVariantVisitor::visitImage
void visitImage(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:189
armarx::aron::data::RecursiveVariantVisitor::visitListOnEnter
void visitListOnEnter(Input &i) override
Definition: VariantVisitor.cpp:412
armarx::aron::data::ConstTypedVariantVisitor::visitDict
void visitDict(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:140
armarx::aron::data::ConstVariantVisitor::visitInt
void visitInt(Input &i) override
Definition: VariantVisitor.cpp:67
armarx::aron::data::ConstTypedVariantVisitor::visitInt
void visitInt(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:210
armarx::aron::data::RecursiveConstVariantVisitor::getListElements
ListElements getListElements(Input &n) override
Definition: VariantVisitor.cpp:297
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:689
armarx::aron::data::ConstVariantVisitor::visitNDArray
void visitNDArray(Input &i) override
Definition: VariantVisitor.cpp:61
armarx::aron::data::RecursiveConstVariantVisitor::visitInt
void visitInt(Input &i) override
Definition: VariantVisitor.cpp:332
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitPairOnEnter
void visitPairOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:654
armarx::aron::data::ConstVariantVisitor::visitFloat
void visitFloat(Input &i) override
Definition: VariantVisitor.cpp:79
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:372
armarx::aron::data::RecursiveConstVariantVisitor::getDescriptor
data::Descriptor getDescriptor(Input &n) override
Definition: VariantVisitor.cpp:275
armarx::aron::data::RecursiveConstVariantVisitor::getDictElements
MapElements getDictElements(Input &n) override
Definition: VariantVisitor.cpp:286
armarx::aron::data::ConstTypedVariantVisitor::visitIntEnum
void visitIntEnum(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:203
armarx::aron::data::RecursiveConstTypedVariantVisitor::getDictElements
MapElements getDictElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:617
armarx::aron::data::ConstVariantVisitor::visitDict
void visitDict(Input &i) override
Definition: VariantVisitor.cpp:49
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::TypeInput
typename TypedVisitorBase< const data::VariantPtr, const type::VariantPtr >::TypeInput TypeInput
Definition: RecursiveVisitor.h:81
armarx::aron::data::RecursiveConstVariantVisitor::GetListElements
static ListElements GetListElements(Input &n)
Definition: VariantVisitor.cpp:291
armarx::aron::data::RecursiveVariantVisitor::visitDictOnEnter
void visitDictOnEnter(Input &i) override
Definition: VariantVisitor.cpp:400
data
uint8_t data[1]
Definition: EtherCATFrame.h:68
armarx::aron::data::RecursiveVariantVisitor::getDescriptor
data::Descriptor getDescriptor(Input &n) override
Definition: VariantVisitor.cpp:385
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitFloat
void visitFloat(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:766
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitDictOnEnter
void visitDictOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:647
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:482
armarx::aron::data::RecursiveVariantVisitor::getListElements
std::vector< InputNonConst > getListElements(Input &n) override
Definition: VariantVisitor.cpp:395
armarx::aron::data::RecursiveConstVariantVisitor::visitString
void visitString(Input &i) override
Definition: VariantVisitor.cpp:362
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:752
armarx::aron::data::RecursiveVariantVisitor::visitNDArray
void visitNDArray(Input &i) override
Definition: VariantVisitor.cpp:424
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:80
armarx::aron::data::ConstVariantVisitor::visitLong
void visitLong(Input &i) override
Definition: VariantVisitor.cpp:73
armarx::aron::data::RecursiveConstVariantVisitor::visitListOnEnter
void visitListOnEnter(Input &i) override
Definition: VariantVisitor.cpp:314
armarx::aron::data::ConstTypedVariantVisitor::visitObject
void visitObject(DataInput &i, TypeInput &j) override
Definition: VariantVisitor.cpp:133
armarx::aron::data::ConstTypedVariantVisitor::visitNDArray
void visitNDArray(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:175
armarx::aron::data::ConstVariantVisitor::visitBool
void visitBool(Input &i) override
Definition: VariantVisitor.cpp:91
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:326
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitListOnEnter
void visitListOnEnter(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:668
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetDictElements
static MapElements GetDictElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:533
armarx::aron::data::ConstVariantVisitor::visitAronVariant
virtual void visitAronVariant(const data::DictPtr &)
Definition: VariantVisitor.cpp:103
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:466
armarx::aron::data::RecursiveVariantVisitor::visitLong
void visitLong(Input &i) override
Definition: VariantVisitor.cpp:436
VariantVisitor.h
armarx::aron::data::RecursiveVariantVisitor::visitAronVariant
virtual void visitAronVariant(data::NDArrayPtr &)
Definition: VariantVisitor.cpp:470
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:124
armarx::aron::data::ConstVariantVisitor::getDescriptor
data::Descriptor getDescriptor(Input &n) override
Definition: VariantVisitor.cpp:44
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitLong
void visitLong(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:759
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetObjectElements
static MapElements GetObjectElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:488
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:344
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::ListElements
std::vector< std::pair< DataInputNonConst, TypeInputNonConst > > ListElements
Definition: RecursiveVisitor.h:87
armarx::aron::data::ConstTypedVariantVisitor::visitTuple
void visitTuple(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:154
armarx::aron::data::ConstTypedVariantVisitor::visitBool
void visitBool(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:238
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:147
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:55
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:773
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitNDArray
void visitNDArray(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:717
armarx::aron::data::RecursiveConstVariantVisitor::GetDictElements
static MapElements GetDictElements(Input &n)
Definition: VariantVisitor.cpp:280
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:745
armarx::aron::data::RecursiveConstTypedVariantVisitor::getListElements
ListElements getListElements(DataInput &o, TypeInput &t) override
Definition: VariantVisitor.cpp:623
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:611
armarx::aron::data::RecursiveConstTypedVariantVisitor::visitImage
void visitImage(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:731
armarx::aron::type::Descriptor
Descriptor
Definition: Descriptor.h:76
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:724
armarx::aron::data::RecursiveConstTypedVariantVisitor::GetListElements
static ListElements GetListElements(DataInput &o, TypeInput &t)
Definition: VariantVisitor.cpp:552
armarx::aron::data::ConstTypedVariantVisitor::visitList
void visitList(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:161
armarx::aron::data::ConstTypedVariantVisitor::visitPointCloud
void visitPointCloud(DataInput &, TypeInput &) override
Definition: VariantVisitor.cpp:196
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:629
armarx::aron::data::RecursiveVariantVisitor::visitInt
void visitInt(Input &i) override
Definition: VariantVisitor.cpp:430
armarx::aron::data::RecursiveConstVariantVisitor::visitDouble
void visitDouble(Input &i) override
Definition: VariantVisitor.cpp:350
armarx::aron::data::RecursiveVariantVisitor::visitString
void visitString(Input &i) override
Definition: VariantVisitor.cpp:460
armarx::aron::data::RecursiveVariantVisitor::visitAronVariantOnExit
virtual void visitAronVariantOnExit(data::DictPtr &)
Definition: VariantVisitor.cpp:468
armarx::aron::data::ConstTypedVariantVisitor::GetDescriptor
static type::Descriptor GetDescriptor(DataInput &i, TypeInput &j)
Definition: VariantVisitor.cpp:117
armarx::aron::data::RecursiveConstVariantVisitor::visitListOnExit
void visitListOnExit(Input &i) override
Definition: VariantVisitor.cpp:320
armarx::aron::data::RecursiveTypedVisitor< const data::VariantPtr, const type::VariantPtr >::TupleElements
std::vector< std::pair< DataInputNonConst, TypeInputNonConst > > TupleElements
Definition: RecursiveVisitor.h:89
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:738