36 #ifdef ARILES2_DEFAULT_DOUBLE_VALUE
37 default_double_value_ = ARILES2_DEFAULT_DOUBLE_VALUE;
39 default_double_value_ = std::numeric_limits<double>::signaling_NaN();
42 #ifdef ARILES2_DEFAULT_FLOAT_VALUE
43 default_float_value_ = ARILES2_DEFAULT_FLOAT_VALUE;
45 default_float_value_ = std::numeric_limits<float>::signaling_NaN();
49 template <
typename t_Scalar>
67 template <
class t_Ariles>
70 return (ariles_class.arilesGetParameters(*
this));
73 template <
class t_Entry>
74 void visit(t_Entry &entry,
const std::string &name,
const Parameters ¶m)
const
76 ARILES2_TRACE_FUNCTION;
77 this->visitMapEntry(entry, name, param);
81 template <
class t_Entry>
84 ARILES2_UNUSED_ARG(name);
85 ARILES2_TRACE_FUNCTION;
86 ARILES2_TRACE_VALUE(name);
87 ARILES2_TRACE_TYPE(entry);
93 inline double Visitor::Parameters::getDefault<double>()
const
99 inline float Visitor::Parameters::getDefault<float>()
const
105 inline bool Visitor::Parameters::getDefault<bool>()
const
111 inline std::string Visitor::Parameters::getDefault<std::string>()
const
123 #define ARILES2_NAMED_ENTRY_defaults(v, entry, name) visitor.visitMapEntry(entry, #name, parameters);
124 #define ARILES2_PARENT_defaults(v, entry)
125 #define ARILES2_VISIT_defaults \
126 template <class t_Visitor> \
128 const t_Visitor &visitor, \
129 const typename t_Visitor::Parameters ¶meters, \
130 ARILES2_IS_BASE_ENABLER(ariles2::defaults::Visitor, t_Visitor)) \
132 ARILES2_TRACE_FUNCTION; \
133 ARILES2_UNUSED_ARG(visitor); \
134 ARILES2_UNUSED_ARG(parameters); \
135 arilesVisitParents(visitor, parameters); \
136 ARILES2_ENTRIES(defaults) \
139 #define ARILES2_METHODS_defaults ARILES2_METHODS(defaults, const, ARILES2_EMPTY_MACRO)
140 #define ARILES2_BASE_METHODS_defaults ARILES2_BASE_METHODS(defaults)
147 namespace preread = defaults;