inline static typename std::enable_if<ExpansionTraits<Expansion>::has_vector_M2T>::type apply(const Expansion& K, const typename Expansion::multipole_type& M, const typename Expansion::point_type& center, TargetIter t_begin, TargetIter t_end, ResultIter r_begin) { K.M2T(M, center, t_begin, t_end, r_begin); }
inline static typename std::enable_if<ExpansionTraits<Expansion>::has_scalar_M2T & !ExpansionTraits<Expansion>::has_vector_M2T>::type apply(const Expansion& K, const typename Expansion::multipole_type& M, const typename Expansion::point_type& center, const typename Expansion::target_type& target, typename Expansion::result_type& result) { K.M2T(M, center, target, result); }