1 #ifndef __JTOOLS__JMULTIFUNCTION__
2 #define __JTOOLS__JMULTIFUNCTION__
18 namespace JPP {
using namespace JTOOLS; }
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>
147 (*i).getValue().compile();
162 (*i).getValue().setExceptionHandler(supervisor);
173 template<
class ...Args>
191 template<
unsigned int N,
194 template<
class,
class,
class>
class __JMap_t,
199 if (input.size() > 1) {
201 for (
auto j = input.begin(),
i =
j++;
j != input.end(); ++
i, ++
j) {
217 template<
class __JElement_t,
template<
class,
class>
class __JContainer_t,
class __JDistance_t>
226 multimap_type::insert(key, buffer);
236 template<
class JHistogram_t,
class __JMaplist_t,
class __JDistance_t>
244 multimap_type::insert(key, buffer);
253 template<
class JArgument_t,
255 template<
class,
class,
class>
class JMap_t,
258 public JMap_t<JArgument_t, JResult_t, JDistance_t>,
259 public virtual JFunction1D<JArgument_t, typename JMap_t<JArgument_t, JResult_t, JDistance_t>::result_type>
277 typedef JMap_t<JArgument_t, JResult_t, JDistance_t>
map_type;
281 using multimap_type::insert;
292 this->
insert(key.first,
function.getY());
301 template<
class JArgument_t,
306 public JMultiFunction<JMultiFunction<JConstantFunction1D<JArgument_t, JResult_t>,
307 typename JMaplist_t::tail_type,
309 typename JMaplist_t::head_list,
315 typename JMaplist_t::tail_type,
317 typename JMaplist_t::head_list,
338 typename JMaplist_t::tail_type,
343 using multimap_type::insert;
354 this->
get(key.
front()).put(key.
back(),
function.getY());
365 template<
class JHistogram_t,
366 class JHistogramMaplist_t,
367 class JHistogramDistance_t,
369 class JFunctionMaplist_t,
370 class JFunctionDistance_t>
General purpose multidimensional map based on a type list of maps.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
JObject_t & for_each(JObject_t &object, JType< JTypeList< JHead_t, JTail_t > > typelist)
For each data type method.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
void copy(const Head &from, JHead &to)
Copy header from from to to.