HDINLINE TCursor operator()(const TCursor& cursor, const math::Int<3>& jump) const { math::Int<3> twistedJump; twistedJump[Axes::x::value] = jump.x(); twistedJump[Axes::y::value] = jump.y(); twistedJump[Axes::z::value] = jump.z(); return cursor(twistedJump); }
HDINLINE Data operator()(const Data& data, const math::Int<dim>& jump) const { char* result = (char*)data; result += jump.x() * sizeof(typename boost::remove_pointer<Data>::type) + jump.y() * Pitch::x::value + jump.z() * Pitch::y::value; return (Data)result; }