1 #ifndef __JTOOLS__JMULTIFUNCTION__
2 #define __JTOOLS__JMULTIFUNCTION__
19 namespace JPP {
using namespace JTOOLS; }
37 template<
class JFunction_t,
41 public JMultiMap<typename JFunction_t::argument_type, JFunction_t, JMaplist_t, JDistance_t>
45 typedef JMultiMap<
typename JFunction_t::argument_type,
64 typedef typename multimap_type::iterator
iterator;
70 using multimap_type::insert;
121 template<
class JPDF_t,
class JPDFMaplist_t,
class JPDFDistance_t>
133 template<
class JHistogram_t,
class JHistogramMaplist_t,
class JHistogramDistance_t>
147 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
148 (*i).getValue().compile();
162 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
163 (*i).getValue().setExceptionHandler(supervisor);
197 template<
unsigned int N,
200 template<
class,
class,
class>
class __JMap_t,
205 if (input.size() > 1) {
223 template<
class __JValue_t>
225 const __JValue_t& input)
231 multimap_type::insert(key, buffer);
244 template<
class JArgument_t,
246 template<
class,
class,
class>
class JMap_t,
249 public JMap_t<JArgument_t, JResult_t, JDistance_t>,
268 typedef JMap_t<JArgument_t, JResult_t, JDistance_t>
map_type;
272 using multimap_type::insert;
283 this->
insert(key.first,
function.getY());
292 template<
class JArgument_t,
297 public JMultiFunction<JMultiFunction<JConstantFunction1D<JArgument_t, JResult_t>,
298 typename JMaplist_t::tail_type,
300 typename JMaplist_t::head_list,
306 typename JMaplist_t::tail_type,
308 typename JMaplist_t::head_list,
329 typename JMaplist_t::tail_type,
334 using multimap_type::insert;
345 this->
get(key.
front()).put(key.
back(),
function.getY());
356 template<
class JHistogram_t,
357 class JHistogramMaplist_t,
358 class JHistogramDistance_t,
360 class JFunctionMaplist_t,
361 class JFunctionDistance_t>
JMultiMap is a general purpose multidimensional map based on a type list of maps. ...
JObject_t & for_each(JObject_t &object, JType< JTypeList< JHead_t, JTail_t > > typelist)
For each data type method.
void copy(const Head &from, JHead &to)
Copy header from from to to.