1 #ifndef __JTOOLS__JTRANSFORMABLEMULTIFUNCTION__
2 #define __JTOOLS__JTRANSFORMABLEMULTIFUNCTION__
22 namespace JPP {
using namespace JTOOLS; }
35 template<
class JFunction_t,
40 public JTransformable<JMapLength<JMaplist_t>::value, typename JFunction_t::argument_type>
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);
232 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
240 function.transform(
get);
241 function.transform(put);
244 this->transformer.reset(transformer.
clone());
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 output.
virtual clone_type clone() const =0
Get clone of this object.
virtual int write(const char *buffer, const int length)=0
Write byte array.
The template JSharedPointer class can be used to share a pointer to an object.
Interface for binary input.