template <class X> typename stride_functor<X>::result_type stride(X const&) ;
v
should hold the following:
glas::pointer(v(i)) ==
glas::pointer(v)+i*glas::stride(v)
The reason glas has its own stride
function is because
of the extensibility through the use of the stride_functor<X>()(x) for
which stride(X)
is just a shortcut.