#include #include #include #include #include #include #include using std::cout; using std::endl; using boost::numeric::ublas::vector; using boost::numeric::ublas::vector_reference; using boost::numeric::ublas::vector_range; using boost::numeric::ublas::range; typedef vector dvector; typedef vector_range dvrange; int main(void) { dvector x(10); dvrange xr(x, range(1,5) ); vector_reference refx(x); vector_reference crefx(x); vector_reference refxr(xr.data()); vector_reference crefxr(xr.data()); for(size_t i=0; i<10; ++i) x(i) = i; cout << x << endl; cout << refx << endl; cout << crefx << endl; cout << refxr << endl; cout << crefxr << endl; }