Go to the documentation of this file. 1 #ifndef __JTOOLS__JTRANSFORMABLEMULTIFUNCTION__
2 #define __JTOOLS__JTRANSFORMABLEMULTIFUNCTION__
35 template<
class JFunction_t,
40 public JTransformable<JMapLength<JMaplist_t>::value, typename JFunction_t::argument_type>
103 return static_cast<const JTransformableMultiFunction&>(*
this);
114 return static_cast<JTransformableMultiFunction&>(*
this);
123 template<
class JPDF_t,
class JPDFMaplist_t,
class JPDFDistance_t>
137 template<
class JHistogram_t,
class JHistogramMaplist_t,
class JHistogramDistance_t>
153 template<
class JMultiFunction_t>
154 void add(
const JMultiFunction_t& input)
156 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
168 for (
typename function_type::iterator
j = f1.begin();
j != f1.end(); ++
j) {
190 va_start(this->
ap, x);
195 this->
buffer[i] = va_arg(this->
ap, argument_type);
218 const result_type y = multifunction_type::evaluate(this->
buffer.
data());
232 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
240 function.transform(
get);
241 function.transform(put);
258 in >> static_cast<multifunction_type&>(
object);
260 return object.transformer->read(in);
273 out << static_cast<const multifunction_type&>(
object);
275 return object.transformer->write(out);
289 template<
class JHistogram_t,
290 class JHistogramMaplist_t,
291 class JHistogramDistance_t,
293 class JFunctionMaplist_t,
294 class JFunctionDistance_t>
Interface for binary input.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Interface for binary output.
T get(const JHead &header)
Get object from header.
The template JSharedPointer class can be used to share a pointer to an object.