Boost logo

Ublas :

Subject: [ublas] Move Semantics
From: Jesse Perla (jesseperla_at_[hidden])
Date: 2009-08-28 08:24:52

Hi there,
I am writing many routines where I would strongly prefer: matrix<double>
f(const matrix<double>& in) to void f(const matrix<double>& in,
matrix<double>& out )
There has been a lot of discussion about this from the C++ groups:

   - The move library to support this in C++03

Also, I see that this is native to MTL:

I don't understand expression templates well enough to know the current
state in ublas, but is it possible to return large matrices in this way?
For example, if I took the following code:
had it return a matrix instead, would that give overhead for large
Could I even nest it with no overhead in other vector expressions: e.g.
matrix<double> C, B; //setup. Assume they are very large
matrix<double> A = inv(B) + C;

If this pattern is not usable yet, any idea of when it would be?