14 #ifndef ARILES_API_VERSION 15 # define ARILES_API_VERSION 1 28 #if 1 == ARILES_API_VERSION 29 template <
class t_Reader>
33 template <
class t_Initializer>
39 template <
class t_Initializer>
45 template <
class t_Initializer0,
class t_Initializer1>
46 Visitor(t_Initializer0 &initializer0,
const t_Initializer1 &initializer1)
47 :
t_Reader(initializer0, initializer1)
54 #if 2 == ARILES_API_VERSION 55 template <
class t_Reader>
60 typename t_Reader::Parameters reader_parameters_;
69 Parameters(
const int ¶m)
71 this->reader_parameters_ = param;
74 Parameters(
const typename t_Reader::Parameters ¶m)
76 this->reader_parameters_ = param;
81 const typename t_Reader::Parameters &reader_parameters,
84 this->defaults_parameters_ = defaults_parameters;
85 this->reader_parameters_ = reader_parameters;
86 this->postprocess_parameters_ = postprocess_parameters;
91 template <
class t_Reader>
95 typedef cfgread::Parameters<t_Reader> Parameters;
105 template <
class t_Initializer>
106 Visitor(t_Initializer &initializer) : reader_visitor_(initializer)
111 template <
class t_Initializer>
112 Visitor(
const t_Initializer &initializer) : reader_visitor_(initializer)
117 template <
class t_Initializer0,
class t_Initializer1>
118 Visitor(t_Initializer0 &initializer0,
const t_Initializer1 &initializer1)
119 : reader_visitor_(initializer0, initializer1)
127 template <
class t_Ariles>
128 const Parameters getParameters(
const t_Ariles &ariles_class)
const 132 ariles_class.arilesGetParameters(defaults_visitor_),
133 ariles_class.arilesGetParameters(reader_visitor_),
134 ariles_class.arilesGetParameters(postprocess_visitor_)));
138 template <
class t_Entry>
139 void start(t_Entry &entry,
const std::string &name,
const Parameters ¶m)
142 this->operator()(entry, name, param);
146 template <
class t_Entry>
147 void operator()(t_Entry &entry,
const std::string &name,
const Parameters ¶m)
152 ariles::apply(defaults_visitor_, entry, name, param.defaults_parameters_);
153 ariles::apply(reader_visitor_, entry, name, param.reader_parameters_);
154 ariles::apply(postprocess_visitor_, entry, name, param.postprocess_parameters_);
160 return (reader_visitor_);
172 #if 1 == ARILES_API_VERSION 173 template <
class t_Writer>
177 template <
class t_Initializer>
183 template <
class t_Initializer>
189 template <
class t_Initializer0,
class t_Initializer1>
190 Visitor(t_Initializer0 *initializer0,
const t_Initializer1 &initializer1)
191 :
t_Writer(initializer0, initializer1)
196 template <
class t_Initializer0,
class t_Initializer1>
197 Visitor(t_Initializer0 &initializer0,
const t_Initializer1 &initializer1)
198 :
t_Writer(initializer0, initializer1)
211 #if 2 == ARILES_API_VERSION 212 template <
class t_Writer>
217 typename t_Writer::Parameters writer_parameters_;
225 Parameters(
const int ¶m)
227 this->writer_parameters_ = param;
230 Parameters(
const typename t_Writer::Parameters ¶m)
232 this->writer_parameters_ = param;
237 const typename t_Writer::Parameters &writer_parameters)
239 this->preprocess_parameters_ = preprocess_parameters;
240 this->writer_parameters_ = writer_parameters;
245 template <
class t_Writer>
249 typedef cfgwrite::Parameters<t_Writer> Parameters;
258 template <
class t_Initializer>
259 Visitor(t_Initializer &initializer) : writer_visitor_(initializer)
264 template <
class t_Initializer>
265 Visitor(
const t_Initializer &initializer) : writer_visitor_(initializer)
270 template <
class t_Initializer0,
class t_Initializer1>
271 Visitor(t_Initializer0 *initializer0,
const t_Initializer1 &initializer1)
272 : writer_visitor_(initializer0, initializer1)
277 template <
class t_Initializer0,
class t_Initializer1>
278 Visitor(t_Initializer0 &initializer0,
const t_Initializer1 &initializer1)
279 : writer_visitor_(initializer0, initializer1)
287 template <
class t_Ariles>
288 const Parameters getParameters(
const t_Ariles &ariles_class)
const 292 ariles_class.arilesGetParameters(preprocess_visitor_),
293 ariles_class.arilesGetParameters(writer_visitor_)));
297 template <
class t_Entry>
298 void start(t_Entry &entry,
const std::string &name,
const Parameters ¶m)
301 this->operator()(entry, name, param);
305 template <
class t_Entry>
306 void operator()(t_Entry &entry,
const std::string &name,
const Parameters ¶m)
311 ariles::apply(preprocess_visitor_, entry, name, param.preprocess_parameters_);
312 ariles::apply(writer_visitor_, entry, name, param.writer_parameters_);
318 return (writer_visitor_);
324 return (writer_visitor_);
void apply(t_Visitor &visitor, t_Ariles &ariles_class, const std::string &name, const typename t_Visitor::Parameters ¶m, ARILES_IS_BASE_ENABLER(ariles::visitor::Visitor, t_Visitor))
#define ARILES_TRACE_FUNCTION
Visitor(t_Initializer &initializer)
const t_Writer & getWriter() const
#define ARILES_TRACE_TYPE(entry)
Visitor(const t_Initializer &initializer)
Visitor(t_Initializer0 &initializer0, const t_Initializer1 &initializer1)
Visitor(const t_Initializer &initializer)
const t_Parameters & getDefaultParameters() const
Visitor(t_Initializer0 *initializer0, const t_Initializer1 &initializer1)
Visitor(t_Initializer0 &initializer0, const t_Initializer1 &initializer1)
#define ARILES_VISIBILITY_ATTRIBUTE
#define ARILES_TRACE_ENTRY(entry_name)
Visitor(t_Initializer &initializer)