VariantVisitor.h
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 #pragma once
25 
26 #include <map>
27 #include <string>
28 #include <vector>
29 
30 #include "../RecursiveVisitor.h"
31 #include "../../variant/forward_declarations.h"
32 #include "../../../type/variant/forward_declarations.h"
33 
34 namespace armarx::aron::data
35 {
36  /**
37  * @see type/visitor/variant/VariantVisitor.h
38  */
39  struct ConstVariantVisitor : virtual public Visitor<const data::VariantPtr>
40  {
43  virtual ~ConstVariantVisitor() = default;
44 
45  // Already implemented so that they cast the input and call specilized method below
46  // Override if you do not want to use the specialized methods
47  void visitDict(Input& i) override;
48  void visitList(Input& i) override;
49  void visitNDArray(Input& i) override;
50  void visitInt(Input& i) override;
51  void visitLong(Input& i) override;
52  void visitFloat(Input& i) override;
53  void visitDouble(Input& i) override;
54  void visitBool(Input& i) override;
55  void visitString(Input& i) override;
56 
57  // Use these if you do not want to cast manually
58  virtual void visitAronVariant(const data::DictPtr&);
59  virtual void visitAronVariant(const data::ListPtr&);
60  virtual void visitAronVariant(const data::NDArrayPtr&);
61  virtual void visitAronVariant(const data::IntPtr&);
62  virtual void visitAronVariant(const data::LongPtr&);
63  virtual void visitAronVariant(const data::FloatPtr&);
64  virtual void visitAronVariant(const data::DoublePtr&);
65  virtual void visitAronVariant(const data::BoolPtr&);
66  virtual void visitAronVariant(const data::StringPtr&);
67  };
68 
69  /**
70  * @see type/visitor/variant/VariantVisitor.h
71  */
72  struct ConstTypedVariantVisitor : virtual public TypedVisitor<const data::VariantPtr, const type::VariantPtr>
73  {
76  virtual ~ConstTypedVariantVisitor() = default;
77 
78  // see above
79  void visitObject(DataInput& i, TypeInput& j) override;
80  void visitDict(DataInput&, TypeInput&) override;
81  void visitPair(DataInput&, TypeInput&) override;
82  void visitTuple(DataInput&, TypeInput&) override;
83  void visitList(DataInput&, TypeInput&) override;
84  void visitMatrix(DataInput&, TypeInput&) override;
85  void visitNDArray(DataInput&, TypeInput&) override;
86  void visitQuaternion(DataInput&, TypeInput&) override;
87  void visitImage(DataInput&, TypeInput&) override;
88  void visitPointCloud(DataInput&, TypeInput&) override;
89  void visitIntEnum(DataInput&, TypeInput&) override;
90  void visitInt(DataInput&, TypeInput&) override;
91  void visitLong(DataInput&, TypeInput&) override;
92  void visitFloat(DataInput&, TypeInput&) override;
93  void visitDouble(DataInput&, TypeInput&) override;
94  void visitBool(DataInput&, TypeInput&) override;
95  void visitString(DataInput&, TypeInput&) override;
96 
97  // see above
98  virtual void visitAronVariant(const data::DictPtr&, const type::ObjectPtr&);
99  virtual void visitAronVariant(const data::DictPtr&, const type::DictPtr&);
100  virtual void visitAronVariant(const data::ListPtr&, const type::ListPtr&);
101  virtual void visitAronVariant(const data::ListPtr&, const type::PairPtr&);
102  virtual void visitAronVariant(const data::ListPtr&, const type::TuplePtr&);
103  virtual void visitAronVariant(const data::NDArrayPtr&, const type::MatrixPtr&);
104  virtual void visitAronVariant(const data::NDArrayPtr&, const type::NDArrayPtr&);
105  virtual void visitAronVariant(const data::NDArrayPtr&, const type::QuaternionPtr&);
106  virtual void visitAronVariant(const data::NDArrayPtr&, const type::PointCloudPtr&);
107  virtual void visitAronVariant(const data::NDArrayPtr&, const type::ImagePtr&);
108  virtual void visitAronVariant(const data::IntPtr&, const type::IntEnumPtr&);
109  virtual void visitAronVariant(const data::IntPtr&, const type::IntPtr&);
110  virtual void visitAronVariant(const data::LongPtr&, const type::LongPtr&);
111  virtual void visitAronVariant(const data::FloatPtr&, const type::FloatPtr&);
112  virtual void visitAronVariant(const data::DoublePtr&, const type::DoublePtr&);
113  virtual void visitAronVariant(const data::BoolPtr&, const type::BoolPtr&);
114  virtual void visitAronVariant(const data::StringPtr&, const type::StringPtr&);
115  };
116 
117  /**
118  * @see type/visitor/variant/VariantVisitor.h
119  */
120  struct RecursiveConstVariantVisitor : virtual public RecursiveVisitor<const data::VariantPtr>
121  {
122  data::Descriptor getDescriptor(Input& n) override;
123  static MapElements GetDictElements(Input& n);
124  MapElements getDictElements(Input& n) override;
126  ListElements getListElements(Input& n) override;
127  virtual ~RecursiveConstVariantVisitor() = default;
128 
129  void visitDictOnEnter(Input& i) override;
130  void visitDictOnExit(Input& i) override;
131  void visitListOnEnter(Input& i) override;
132  void visitListOnExit(Input& i) override;
133  void visitNDArray(Input& i) override;
134  void visitInt(Input& i) override;
135  void visitLong(Input& i) override;
136  void visitFloat(Input& i) override;
137  void visitDouble(Input& i) override;
138  void visitBool(Input& i) override;
139  void visitString(Input& i) override;
140 
141  virtual void visitAronVariantOnEnter(const data::DictPtr&);
142  virtual void visitAronVariantOnExit(const data::DictPtr&);
143  virtual void visitAronVariantOnEnter(const data::ListPtr&);
144  virtual void visitAronVariantOnExit(const data::ListPtr&);
145  virtual void visitAronVariant(const data::NDArrayPtr&);
146  virtual void visitAronVariant(const data::IntPtr&);
147  virtual void visitAronVariant(const data::LongPtr&);
148  virtual void visitAronVariant(const data::FloatPtr&);
149  virtual void visitAronVariant(const data::DoublePtr&);
150  virtual void visitAronVariant(const data::BoolPtr&);
151  virtual void visitAronVariant(const data::StringPtr&);
152  };
153 
154  /**
155  * @see type/visitor/variant/VariantVisitor.h
156  */
157  struct RecursiveVariantVisitor : virtual public RecursiveVisitor<data::VariantPtr>
158  {
159  data::Descriptor getDescriptor(Input& n) override;
160  std::map<std::string, InputNonConst> getDictElements(Input& n) override;
161  std::vector<InputNonConst> getListElements(Input& n) override;
162  virtual ~RecursiveVariantVisitor() = default;
163 
164  void visitDictOnEnter(Input& i) override;
165  void visitDictOnExit(Input& i) override;
166  void visitListOnEnter(Input& i) override;
167  void visitListOnExit(Input& i) override;
168  void visitNDArray(Input& i) override;
169  void visitInt(Input& i) override;
170  void visitLong(Input& i) override;
171  void visitFloat(Input& i) override;
172  void visitDouble(Input& i) override;
173  void visitBool(Input& i) override;
174  void visitString(Input& i) override;
175 
176  virtual void visitAronVariantOnEnter(data::DictPtr&);
177  virtual void visitAronVariantOnExit(data::DictPtr&);
178  virtual void visitAronVariantOnEnter(data::ListPtr&);
179  virtual void visitAronVariantOnExit(data::ListPtr&);
180  virtual void visitAronVariant(data::NDArrayPtr&);
181  virtual void visitAronVariant(data::IntPtr&);
182  virtual void visitAronVariant(data::LongPtr&);
183  virtual void visitAronVariant(data::FloatPtr&);
184  virtual void visitAronVariant(data::DoublePtr&);
185  virtual void visitAronVariant(data::BoolPtr&);
186  virtual void visitAronVariant(data::StringPtr&);
187  };
188 
189  /**
190  * @see type/visitor/variant/VariantVisitor.h
191  */
192  struct RecursiveConstTypedVariantVisitor : virtual public RecursiveTypedVisitor<const data::VariantPtr, const type::VariantPtr>
193  {
196  /* This override exists for visitors that need to handle untyped members in the hierarchy.
197  * Using it instead of `GetObjectElements` will allow your visitor to visit objects with
198  * a nullptr as their type. However, you will have to handle nullptr types in your
199  * visitor's methods.
200  */
206 
212  virtual ~RecursiveConstTypedVariantVisitor() = default;
213 
214  // see above
215  void visitObjectOnEnter(DataInput&, TypeInput&) override;
216  void visitDictOnEnter(DataInput&, TypeInput&) override;
217  void visitPairOnEnter(DataInput&, TypeInput&) override;
218  void visitTupleOnEnter(DataInput&, TypeInput&) override;
219  void visitListOnEnter(DataInput&, TypeInput&) override;
220  void visitObjectOnExit(DataInput& i, TypeInput& j) override;
221  void visitDictOnExit(DataInput&, TypeInput&) override;
222  void visitPairOnExit(DataInput&, TypeInput&) override;
223  void visitTupleOnExit(DataInput&, TypeInput&) override;
224  void visitListOnExit(DataInput&, TypeInput&) override;
225  void visitMatrix(DataInput&, TypeInput&) override;
226  void visitNDArray(DataInput&, TypeInput&) override;
227  void visitQuaternion(DataInput&, TypeInput&) override;
228  void visitImage(DataInput&, TypeInput&) override;
229  void visitPointCloud(DataInput&, TypeInput&) override;
230  void visitIntEnum(DataInput&, TypeInput&) override;
231  void visitInt(DataInput&, TypeInput&) override;
232  void visitLong(DataInput&, TypeInput&) override;
233  void visitFloat(DataInput&, TypeInput&) override;
234  void visitDouble(DataInput&, TypeInput&) override;
235  void visitBool(DataInput&, TypeInput&) override;
236  void visitString(DataInput&, TypeInput&) override;
237 
238  // see above
239  virtual void visitAronVariantOnEnter(const data::DictPtr&, const type::ObjectPtr&);
240  virtual void visitAronVariantOnEnter(const data::DictPtr&, const type::DictPtr&);
241  virtual void visitAronVariantOnEnter(const data::ListPtr&, const type::ListPtr&);
242  virtual void visitAronVariantOnEnter(const data::ListPtr&, const type::PairPtr&);
243  virtual void visitAronVariantOnEnter(const data::ListPtr&, const type::TuplePtr&);
244  virtual void visitAronVariantOnExit(const data::DictPtr&, const type::ObjectPtr&);
245  virtual void visitAronVariantOnExit(const data::DictPtr&, const type::DictPtr&);
246  virtual void visitAronVariantOnExit(const data::ListPtr&, const type::ListPtr&);
247  virtual void visitAronVariantOnExit(const data::ListPtr&, const type::PairPtr&);
248  virtual void visitAronVariantOnExit(const data::ListPtr&, const type::TuplePtr&);
249  virtual void visitAronVariant(const data::NDArrayPtr&, const type::MatrixPtr&);
250  virtual void visitAronVariant(const data::NDArrayPtr&, const type::NDArrayPtr&);
251  virtual void visitAronVariant(const data::NDArrayPtr&, const type::QuaternionPtr&);
252  virtual void visitAronVariant(const data::NDArrayPtr&, const type::PointCloudPtr&);
253  virtual void visitAronVariant(const data::NDArrayPtr&, const type::ImagePtr&);
254  virtual void visitAronVariant(const data::IntPtr&, const type::IntEnumPtr&);
255  virtual void visitAronVariant(const data::IntPtr&, const type::IntPtr&);
256  virtual void visitAronVariant(const data::LongPtr&, const type::LongPtr&);
257  virtual void visitAronVariant(const data::FloatPtr&, const type::FloatPtr&);
258  virtual void visitAronVariant(const data::DoublePtr&, const type::DoublePtr&);
259  virtual void visitAronVariant(const data::BoolPtr&, const type::BoolPtr&);
260  virtual void visitAronVariant(const data::StringPtr&, const type::StringPtr&);
261  };
262 }
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::data::ConstVariantVisitor
Definition: VariantVisitor.h:39
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::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::Visitor
Definition: Visitor.h:64
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::RecursiveVariantVisitor::~RecursiveVariantVisitor
virtual ~RecursiveVariantVisitor()=default
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::RecursiveConstVariantVisitor::~RecursiveConstVariantVisitor
virtual ~RecursiveConstVariantVisitor()=default
armarx::aron::data::DoublePtr
std::shared_ptr< Double > DoublePtr
Definition: forward_declarations.h:32
armarx::aron::data::RecursiveVariantVisitor
Definition: VariantVisitor.h:157
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::TypedVisitor
Definition: Visitor.h:85
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::ConstVariantVisitor::~ConstVariantVisitor
virtual ~ConstVariantVisitor()=default
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::RecursiveConstTypedVariantVisitor::~RecursiveConstTypedVariantVisitor
virtual ~RecursiveConstTypedVariantVisitor()=default
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::RecursiveTypedVisitor
Definition: RecursiveVisitor.h:78
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::data::ConstTypedVariantVisitor::~ConstTypedVariantVisitor
virtual ~ConstTypedVariantVisitor()=default
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
armarx::aron::data::RecursiveVisitor
Definition: RecursiveVisitor.h:37
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
armarx::aron::data::RecursiveVariantVisitor::visitAronVariant
virtual void visitAronVariant(data::NDArrayPtr &)
Definition: VariantVisitor.cpp:470
armarx::aron::data::RecursiveConstVariantVisitor
Definition: VariantVisitor.h:120
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::RecursiveConstTypedVariantVisitor
Definition: VariantVisitor.h:192
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::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::data::ConstTypedVariantVisitor
Definition: VariantVisitor.h:72
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::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