36 #ifdef ARILES2_DEFAULT_DOUBLE_VALUE
42 #ifdef ARILES2_DEFAULT_FLOAT_VALUE
49 template <
typename t_Scalar>
52 if constexpr (std::is_same_v<double, t_Scalar>)
56 if constexpr (std::is_same_v<float, t_Scalar>)
60 if constexpr (std::is_same_v<bool, t_Scalar>)
64 if constexpr (std::is_same_v<std::string, t_Scalar>)
80 template <
class t_Entry>
81 void visit(t_Entry &entry,
const std::string &name,
const Parameters ¶m)
const
87 template <
class t_Entry>
88 void visit(t_Entry &entry,
const std::vector<std::string> &subtree,
const Parameters ¶m)
const
90 visit(entry, subtree.empty() ?
"" : subtree.back(), param);
94 template <
class t_Entry>
109 #define ARILES2_NAMED_ENTRY_defaults(v, entry, name) visitor.visitMapEntry(entry, #name, parameters);
110 #define ARILES2_PARENT_defaults(v, entry)
111 #define ARILES2_VISIT_defaults \
112 template <class t_Visitor> \
114 const t_Visitor &visitor, \
115 const typename t_Visitor::Parameters ¶meters, \
116 ARILES2_IS_BASE_ENABLER(ariles2::defaults::Visitor, t_Visitor)) \
118 CPPUT_TRACE_FUNCTION; \
119 CPPUT_UNUSED_ARG(visitor); \
120 CPPUT_UNUSED_ARG(parameters); \
121 arilesVisitParents(visitor, parameters); \
122 ARILES2_ENTRIES(defaults) \
125 #define ARILES2_METHODS_defaults ARILES2_METHODS(defaults, const, ARILES2_EMPTY_MACRO)
126 #define ARILES2_BASE_METHODS_defaults ARILES2_BASE_METHODS(defaults)
Parameters(const bool override_parameters=true)
float default_float_value_
double default_double_value_
t_Scalar getDefault() const
void visit(t_Entry &entry, const std::vector< std::string > &subtree, const Parameters ¶m) const
void visitMapEntry(t_Entry &entry, const std::string &name, const Parameters ¶m) const
void visit(t_Entry &entry, const std::string &name, const Parameters ¶m) const
#define CPPUT_UNUSED_ARG(parameter)
visitor::Parameters Parameters
void apply_defaults(const t_Visitor &visitor, t_Entry &entry, const typename t_Visitor::Parameters ¶m, ARILES2_IS_BASE_ENABLER(ariles2::defaults::Base, t_Entry))
#define CPPUT_TRACE_FUNCTION
#define CPPUT_TRACE_TYPE(type)
#define CPPUT_TRACE_VALUE(value)