inline void take_neighbor(Toc_& oc, Tfun_& fun, Tsphere_& cmp) { //std::cout << std::endl << typeid( oc ).name() << std::endl << std::endl; //std::cout << typeid( fun ).name() << std::endl << std::endl; //std::cout << typeid( cmp ).name() << std::endl << std::endl; oc.each_neighbor(oc.index(cmp.origin), neighbor_filter<Toc_, Tfun_, Tsphere_>(fun, cmp)); }
inline void take_neighbor_cyclic(Toc_& oc, Tfun_& fun, const Tsphere_& cmp) { oc.each_neighbor_cyclic(oc.index(cmp.origin), cyclic_neighbor_filter<Toc_, Tfun_, Tsphere_>(fun, cmp)); }
static void each_neighbor(Toc_ const& oc, Tfun_& fun, Tsphere_ const& pos) { oc.each_neighbor_cyclic(oc.index(pos), fun); }