48 template <
class t_Ariles>
51 return (ariles_class.arilesGetParameters(*
this));
55 template <
class t_Left,
class t_Right>
56 void visit(
const t_Left &left, t_Right &right,
const std::string &name,
const Parameters ¶m)
58 ARILES2_TRACE_FUNCTION;
61 this->visitMapEntry(left, right, name, param);
63 catch (std::exception &e)
65 ARILES2_THROW(std::string(
"Copying failed: ") + e.what());
70 template <
class t_Left,
class t_Right>
73 ARILES2_TRACE_FUNCTION;
74 ARILES2_TRACE_VALUE(name);
75 ARILES2_TRACE_TYPE(left);
76 ARILES2_TRACE_TYPE(right);
82 catch (
const std::exception &e)
84 ARILES2_THROW(
"entry: " + name +
" // " + std::string(e.what()));
95 #define ARILES2_NAMED_ENTRY_copyto(v, entry, name) visitor.visitMapEntry(entry, other.name, #name, parameters);
96 #define ARILES2_PARENT_copyto(v, entry) entry::arilesVisit(visitor, other, parameters);
98 #define ARILES2_VISIT_copyto \
99 template <class t_Other> \
101 ariles2::copyto::Visitor &visitor, \
103 const typename ariles2::copyto::Visitor::Parameters ¶meters) const \
105 ARILES2_UNUSED_ARG(visitor); \
106 ARILES2_UNUSED_ARG(other); \
107 ARILES2_UNUSED_ARG(parameters); \
108 ARILES2_TRACE_FUNCTION; \
109 ARILES2_ENTRIES(copyto) \
112 #define ARILES2_METHODS_copyto \
113 const ariles2::copyto::Visitor::Parameters &arilesGetParameters(const ariles2::copyto::Visitor &visitor) const \
115 ARILES2_TRACE_FUNCTION; \
116 return (visitor.getDefaultParameters()); \
118 #define ARILES2_BASE_METHODS_copyto