Boost logo

Ublas :

Subject: Re: [ublas] How to instantiate ublas vector from std::vector
From: James C. Sutherland (James.Sutherland_at_[hidden])
Date: 2009-04-10 09:15:53


> I would like to avoid copying the data. That could probably be
> done, but would not be a great solution.
>

Have a look at array adaptors. For example,

     typedef boost::numeric::ublas::shallow_array_adaptor<double>
ArrayAdaptor;
     typedef boost::numeric::ublas::vector<double,ArrayAdaptor>
VecType;

     vector<double> fieldValues;
     // ... initialize fieldValues ...

     VecType vec( npts, ArrayAdaptor(npts,fieldValues) );
     vector<double>::iterator ival = fieldValues.begin();
     for( VecType::iterator i=vec.begin(); i!=vec.end(); ++i, ++ival ){
       *i = *ival;
     }

James