Go to the documentation of this file.
30 #include "../../Descriptor.h"
31 #include "../../Exception.h"
50 template <
class T1,
class T2>
84 template <
class T1,
class T2>
112 template <
class T,
class Data>
115 template <
class T,
class Data,
class Type>
122 template <
class VisitorImplementation>
123 requires isVisitor<VisitorImplementation, typename VisitorImplementation::Input>
124 void visit(VisitorImplementation&
v,
typename VisitorImplementation::Input& o)
126 auto descriptor =
v.getDescriptor(o);
130 return v.visitList(o);
132 return v.visitDict(o);
134 return v.visitNDArray(o);
136 return v.visitInt(o);
138 return v.visitLong(o);
140 return v.visitFloat(o);
142 return v.visitDouble(o);
144 return v.visitString(o);
146 return v.visitBool(o);
148 return v.visitUnknown(o);
157 template <
class VisitorImplementation>
158 requires isTypedVisitor<VisitorImplementation, typename VisitorImplementation::DataInput, typename VisitorImplementation::TypeInput>
159 void visit(VisitorImplementation&
v,
typename VisitorImplementation::DataInput& o,
typename VisitorImplementation::TypeInput& t)
161 auto descriptor =
v.getDescriptor(o, t);
165 return v.visitObject(o, t);
167 return v.visitList(o, t);
169 return v.visitDict(o, t);
171 return v.visitPair(o, t);
173 return v.visitTuple(o, t);
175 return v.visitNDArray(o, t);
177 return v.visitMatrix(o, t);
179 return v.visitImage(o, t);
181 return v.visitPointCloud(o, t);
183 return v.visitQuaternion(o, t);
185 return v.visitInt(o, t);
187 return v.visitLong(o, t);
189 return v.visitFloat(o, t);
191 return v.visitDouble(o, t);
193 return v.visitString(o, t);
195 return v.visitBool(o, t);
197 return v.visitAnyObject(o, t);
199 return v.visitIntEnum(o, t);
201 return v.visitUnknown(o, t);
virtual void visitLong(Input &)
A base class for aron exceptions.
virtual void visitImage(DataInput &, TypeInput &)
virtual void visitFloat(DataInput &, TypeInput &)
virtual void visitInt(Input &)
virtual void visitMatrix(DataInput &, TypeInput &)
virtual void visitDict(DataInput &, TypeInput &)
virtual void visitNDArray(DataInput &, TypeInput &)
virtual void visitList(DataInput &, TypeInput &)
virtual void visitInt(DataInput &, TypeInput &)
virtual void visitDouble(DataInput &, TypeInput &)
virtual ~TypedVisitorBase()=default
virtual void visitDouble(Input &)
virtual void visitLong(DataInput &, TypeInput &)
virtual ~VisitorBase()=default
virtual void visitNDArray(Input &)
std::shared_ptr< Value > value()
virtual void visitUnknown(Input &)
virtual void visitFloat(Input &)
virtual void visitBool(Input &)
virtual void visitPointCloud(DataInput &, TypeInput &)
virtual void visitIntEnum(DataInput &, TypeInput &)
requires(!aron::detail::DtoAndBoAreSame< DtoT, BoT >) void toAron(std
data::VariantPtr DataInput
virtual void visitQuaternion(DataInput &, TypeInput &)
virtual void visitDict(Input &)
virtual void visitAnyObject(DataInput &, TypeInput &)
A convenience header to include all aron files (full include, not forward declared)
virtual void visitString(Input &)
virtual void visitBool(DataInput &, TypeInput &)
virtual void visitObject(DataInput &, TypeInput &)
double v(double t, double v0, double a0, double j)
virtual void visitList(Input &)
const type::VariantPtr TypeInput
virtual void visitTuple(DataInput &, TypeInput &)
requires isVisitor< VisitorImplementation, typename VisitorImplementation::Input > void visit(VisitorImplementation &v, typename VisitorImplementation::Input &o)
virtual ~TypedVisitor()=default
virtual type::Descriptor getDescriptor(DataInput &, TypeInput &)=0
virtual void visitUnknown(DataInput &, TypeInput &)
virtual void visitString(DataInput &, TypeInput &)
virtual data::Descriptor getDescriptor(Input &)=0
virtual void visitPair(DataInput &, TypeInput &)
virtual ~Visitor()=default