Boost logo

Ublas :

Subject: [ublas] ublas + move semantics
From: Norman Goldstein (normvcr_at_[hidden])
Date: 2011-12-25 13:28:29


I am using boost 1.46.0 on fedora 15, using the -std=c++0x
flag on gcc, and found that the rvalue reference move semantics
are not supported. I put the following code into vector.hpp and
matrix.hpp, and valgrind is happy.

======== vector.hpp
         BOOST_UBLAS_INLINE
         vector (vector &&v):
             vector_container<self_type> (),
             data_ (NULL){ assign_temporary(v); }

========= matrix.hpp
         BOOST_UBLAS_INLINE
         matrix ( matrix&& m):
             matrix_container<self_type> (),
             size1_ (m.size1_), size2_ (m.size2_), data_ (NULL) {
assign_temporary(m); }

I am not sure if the above code is correct, never mind optimal.
What are the plans for C++0x in boost/numeric?

Thank you.

PS I first checked the latest boost version, 1.48, and did
not see the support, there, either.