7 #ifndef NIHU_X2P_INDEXED_HPP_INCLUDED
8 #define NIHU_X2P_INDEXED_HPP_INCLUDED
11 #include <type_traits>
18 template <
class Operator,
class It>
20 :
public fmm_operator<typename std::decay<Operator>::type::fmm_tag>
23 typedef typename std::decay<Operator>::type operator_t;
24 typedef It iterator_t;
26 typedef typename operator_t::trial_input_t trial_input_t;
27 typedef size_t test_input_t;
28 typedef typename operator_t::result_t result_t;
31 : m_op(std::forward<Operator>(op))
37 result_t operator()(
size_t idx, trial_input_t
const &ti)
const
39 return m_op(m_begin[idx], ti);
42 size_t num_rec()
const
44 return m_end - m_begin;
53 template <
class Operator,
class It>
54 auto create_x2p_indexed(Operator &&op, It begin, It end)