1#ifndef __JTOOLS__JMULTIFUNCTION__
2#define __JTOOLS__JMULTIFUNCTION__
36 template<
class JFunction_t,
40 public JMultiMap<typename JFunction_t::argument_type, JFunction_t, JMaplist_t, JDistance_t>
44 typedef JMultiMap<
typename JFunction_t::argument_type,
62 typedef typename multimap_type::iterator
iterator;
69 using multimap_type::insert;
120 template<
class __JFunction_t,
class __JMaplist_t,
class __JDistance_t>
132 template<
class JHistogram_t,
class __JMaplist_t,
class __JDistance_t>
146 for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
147 (*i).getValue().compile();
161 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
162 (*i).getValue().setExceptionHandler(supervisor);
173 template<
class ...Args>
178 return this->evaluate(buffer.
data());
189 template<
unsigned int N,
192 template<
class,
class,
class>
class __JMap_t,
197 if (input.size() > 1) {
199 for (
auto j = input.begin(), i =
j++;
j != input.end(); ++i, ++
j) {
215 template<
class __JElement_t,
template<
class,
class>
class __JContainer_t,
class __JDistance_t>
224 multimap_type::insert(key, buffer);
234 template<
class JHistogram_t,
class __JMaplist_t,
class __JDistance_t>
242 multimap_type::insert(key, buffer);
251 template<
class JArgument_t,
253 template<
class,
class,
class>
class JMap_t,
256 public JMap_t<JArgument_t, JResult_t, JDistance_t>
274 typedef JMap_t<JArgument_t, JResult_t, JDistance_t>
map_type;
278 using multimap_type::insert;
298 template<
class JArgument_t,
303 public JMultiFunction<JMultiFunction<JConstantFunction1D<JArgument_t, JResult_t>,
304 typename JMaplist_t::tail_type,
306 typename JMaplist_t::head_list,
312 typename JMaplist_t::tail_type,
314 typename JMaplist_t::head_list,
335 typename JMaplist_t::tail_type,
340 using multimap_type::insert;
351 this->get(key.front()).put(key.back(), function.
getY());
362 template<
class JHistogram_t,
363 class JHistogramMaplist_t,
364 class JHistogramDistance_t,
366 class JFunctionMaplist_t,
367 class JFunctionDistance_t>
General purpose multidimensional map based on a type list of maps.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).