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 "../../../type/variant/forward_declarations.h"
31 #include "../../variant/forward_declarations.h"
32 #include "../RecursiveVisitor.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  */
73  virtual public TypedVisitor<const data::VariantPtr, const type::VariantPtr>
74  {
77  virtual ~ConstTypedVariantVisitor() = default;
78 
79  // see above
80  void visitObject(DataInput& i, TypeInput& j) override;
81  void visitDict(DataInput&, TypeInput&) override;
82  void visitPair(DataInput&, TypeInput&) override;
83  void visitTuple(DataInput&, TypeInput&) override;
84  void visitList(DataInput&, TypeInput&) override;
85  void visitMatrix(DataInput&, TypeInput&) override;
86  void visitNDArray(DataInput&, TypeInput&) override;
87  void visitQuaternion(DataInput&, TypeInput&) override;
88  void visitImage(DataInput&, TypeInput&) override;
89  void visitPointCloud(DataInput&, TypeInput&) override;
90  void visitIntEnum(DataInput&, TypeInput&) override;
91  void visitInt(DataInput&, TypeInput&) override;
92  void visitLong(DataInput&, TypeInput&) override;
93  void visitFloat(DataInput&, TypeInput&) override;
94  void visitDouble(DataInput&, TypeInput&) override;
95  void visitBool(DataInput&, TypeInput&) override;
96  void visitString(DataInput&, TypeInput&) override;
97 
98  // see above
99  virtual void visitAronVariant(const data::DictPtr&, const type::ObjectPtr&);
100  virtual void visitAronVariant(const data::DictPtr&, const type::DictPtr&);
101  virtual void visitAronVariant(const data::ListPtr&, const type::ListPtr&);
102  virtual void visitAronVariant(const data::ListPtr&, const type::PairPtr&);
103  virtual void visitAronVariant(const data::ListPtr&, const type::TuplePtr&);
104  virtual void visitAronVariant(const data::NDArrayPtr&, const type::MatrixPtr&);
105  virtual void visitAronVariant(const data::NDArrayPtr&, const type::NDArrayPtr&);
106  virtual void visitAronVariant(const data::NDArrayPtr&, const type::QuaternionPtr&);
107  virtual void visitAronVariant(const data::NDArrayPtr&, const type::PointCloudPtr&);
108  virtual void visitAronVariant(const data::NDArrayPtr&, const type::ImagePtr&);
109  virtual void visitAronVariant(const data::IntPtr&, const type::IntEnumPtr&);
110  virtual void visitAronVariant(const data::IntPtr&, const type::IntPtr&);
111  virtual void visitAronVariant(const data::LongPtr&, const type::LongPtr&);
112  virtual void visitAronVariant(const data::FloatPtr&, const type::FloatPtr&);
113  virtual void visitAronVariant(const data::DoublePtr&, const type::DoublePtr&);
114  virtual void visitAronVariant(const data::BoolPtr&, const type::BoolPtr&);
115  virtual void visitAronVariant(const data::StringPtr&, const type::StringPtr&);
116  };
117 
118  /**
119  * @see type/visitor/variant/VariantVisitor.h
120  */
121  struct RecursiveConstVariantVisitor : virtual public RecursiveVisitor<const data::VariantPtr>
122  {
123  data::Descriptor getDescriptor(Input& n) override;
124  static MapElements GetDictElements(Input& n);
125  MapElements getDictElements(Input& n) override;
127  ListElements getListElements(Input& n) override;
128  virtual ~RecursiveConstVariantVisitor() = default;
129 
130  void visitDictOnEnter(Input& i) override;
131  void visitDictOnExit(Input& i) override;
132  void visitListOnEnter(Input& i) override;
133  void visitListOnExit(Input& i) override;
134  void visitNDArray(Input& i) override;
135  void visitInt(Input& i) override;
136  void visitLong(Input& i) override;
137  void visitFloat(Input& i) override;
138  void visitDouble(Input& i) override;
139  void visitBool(Input& i) override;
140  void visitString(Input& i) override;
141 
142  virtual void visitAronVariantOnEnter(const data::DictPtr&);
143  virtual void visitAronVariantOnExit(const data::DictPtr&);
144  virtual void visitAronVariantOnEnter(const data::ListPtr&);
145  virtual void visitAronVariantOnExit(const data::ListPtr&);
146  virtual void visitAronVariant(const data::NDArrayPtr&);
147  virtual void visitAronVariant(const data::IntPtr&);
148  virtual void visitAronVariant(const data::LongPtr&);
149  virtual void visitAronVariant(const data::FloatPtr&);
150  virtual void visitAronVariant(const data::DoublePtr&);
151  virtual void visitAronVariant(const data::BoolPtr&);
152  virtual void visitAronVariant(const data::StringPtr&);
153  };
154 
155  /**
156  * @see type/visitor/variant/VariantVisitor.h
157  */
158  struct RecursiveVariantVisitor : virtual public RecursiveVisitor<data::VariantPtr>
159  {
160  data::Descriptor getDescriptor(Input& n) override;
161  std::map<std::string, InputNonConst> getDictElements(Input& n) override;
162  std::vector<InputNonConst> getListElements(Input& n) override;
163  virtual ~RecursiveVariantVisitor() = default;
164 
165  void visitDictOnEnter(Input& i) override;
166  void visitDictOnExit(Input& i) override;
167  void visitListOnEnter(Input& i) override;
168  void visitListOnExit(Input& i) override;
169  void visitNDArray(Input& i) override;
170  void visitInt(Input& i) override;
171  void visitLong(Input& i) override;
172  void visitFloat(Input& i) override;
173  void visitDouble(Input& i) override;
174  void visitBool(Input& i) override;
175  void visitString(Input& i) override;
176 
177  virtual void visitAronVariantOnEnter(data::DictPtr&);
178  virtual void visitAronVariantOnExit(data::DictPtr&);
179  virtual void visitAronVariantOnEnter(data::ListPtr&);
180  virtual void visitAronVariantOnExit(data::ListPtr&);
181  virtual void visitAronVariant(data::NDArrayPtr&);
182  virtual void visitAronVariant(data::IntPtr&);
183  virtual void visitAronVariant(data::LongPtr&);
184  virtual void visitAronVariant(data::FloatPtr&);
185  virtual void visitAronVariant(data::DoublePtr&);
186  virtual void visitAronVariant(data::BoolPtr&);
187  virtual void visitAronVariant(data::StringPtr&);
188  };
189 
190  /**
191  * @see type/visitor/variant/VariantVisitor.h
192  */
194  virtual public RecursiveTypedVisitor<const data::VariantPtr, const type::VariantPtr>
195  {
198  /* This override exists for visitors that need to handle untyped members in the hierarchy.
199  * Using it instead of `GetObjectElements` will allow your visitor to visit objects with
200  * a nullptr as their type. However, you will have to handle nullptr types in your
201  * visitor's methods.
202  */
208 
214  virtual ~RecursiveConstTypedVariantVisitor() = default;
215 
216  // see above
217  void visitObjectOnEnter(DataInput&, TypeInput&) override;
218  void visitDictOnEnter(DataInput&, TypeInput&) override;
219  void visitPairOnEnter(DataInput&, TypeInput&) override;
220  void visitTupleOnEnter(DataInput&, TypeInput&) override;
221  void visitListOnEnter(DataInput&, TypeInput&) override;
222  void visitObjectOnExit(DataInput& i, TypeInput& j) override;
223  void visitDictOnExit(DataInput&, TypeInput&) override;
224  void visitPairOnExit(DataInput&, TypeInput&) override;
225  void visitTupleOnExit(DataInput&, TypeInput&) override;
226  void visitListOnExit(DataInput&, TypeInput&) override;
227  void visitMatrix(DataInput&, TypeInput&) override;
228  void visitNDArray(DataInput&, TypeInput&) override;
229  void visitQuaternion(DataInput&, TypeInput&) override;
230  void visitImage(DataInput&, TypeInput&) override;
231  void visitPointCloud(DataInput&, TypeInput&) override;
232  void visitIntEnum(DataInput&, TypeInput&) override;
233  void visitInt(DataInput&, TypeInput&) override;
234  void visitLong(DataInput&, TypeInput&) override;
235  void visitFloat(DataInput&, TypeInput&) override;
236  void visitDouble(DataInput&, TypeInput&) override;
237  void visitBool(DataInput&, TypeInput&) override;
238  void visitString(DataInput&, TypeInput&) override;
239 
240  // see above
241  virtual void visitAronVariantOnEnter(const data::DictPtr&, const type::ObjectPtr&);
242  virtual void visitAronVariantOnEnter(const data::DictPtr&, const type::DictPtr&);
243  virtual void visitAronVariantOnEnter(const data::ListPtr&, const type::ListPtr&);
244  virtual void visitAronVariantOnEnter(const data::ListPtr&, const type::PairPtr&);
245  virtual void visitAronVariantOnEnter(const data::ListPtr&, const type::TuplePtr&);
246  virtual void visitAronVariantOnExit(const data::DictPtr&, const type::ObjectPtr&);
247  virtual void visitAronVariantOnExit(const data::DictPtr&, const type::DictPtr&);
248  virtual void visitAronVariantOnExit(const data::ListPtr&, const type::ListPtr&);
249  virtual void visitAronVariantOnExit(const data::ListPtr&, const type::PairPtr&);
250  virtual void visitAronVariantOnExit(const data::ListPtr&, const type::TuplePtr&);
251  virtual void visitAronVariant(const data::NDArrayPtr&, const type::MatrixPtr&);
252  virtual void visitAronVariant(const data::NDArrayPtr&, const type::NDArrayPtr&);
253  virtual void visitAronVariant(const data::NDArrayPtr&, const type::QuaternionPtr&);
254  virtual void visitAronVariant(const data::NDArrayPtr&, const type::PointCloudPtr&);
255  virtual void visitAronVariant(const data::NDArrayPtr&, const type::ImagePtr&);
256  virtual void visitAronVariant(const data::IntPtr&, const type::IntEnumPtr&);
257  virtual void visitAronVariant(const data::IntPtr&, const type::IntPtr&);
258  virtual void visitAronVariant(const data::LongPtr&, const type::LongPtr&);
259  virtual void visitAronVariant(const data::FloatPtr&, const type::FloatPtr&);
260  virtual void visitAronVariant(const data::DoublePtr&, const type::DoublePtr&);
261  virtual void visitAronVariant(const data::BoolPtr&, const type::BoolPtr&);
262  virtual void visitAronVariant(const data::StringPtr&, const type::StringPtr&);
263  };
264 } // 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::data::ConstVariantVisitor
Definition: VariantVisitor.h:39
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::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::Visitor
Definition: Visitor.h:64
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::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: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::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:158
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::TypedVisitor
Definition: Visitor.h:91
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::ConstVariantVisitor::~ConstVariantVisitor
virtual ~ConstVariantVisitor()=default
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::RecursiveConstTypedVariantVisitor::~RecursiveConstTypedVariantVisitor
virtual ~RecursiveConstTypedVariantVisitor()=default
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::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::RecursiveTypedVisitor
Definition: RecursiveVisitor.h:84
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::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: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
armarx::aron::data::RecursiveVisitor
Definition: RecursiveVisitor.h:37
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
armarx::aron::data::RecursiveVariantVisitor::visitAronVariant
virtual void visitAronVariant(data::NDArrayPtr &)
Definition: VariantVisitor.cpp:687
armarx::aron::data::RecursiveConstVariantVisitor
Definition: VariantVisitor.h:121
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::RecursiveConstTypedVariantVisitor
Definition: VariantVisitor.h:193
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::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::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: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::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