Re: [eigen] Initial implementation of tensor support |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
Hi there,
> As a user, I have one question regarding the suggested alternatives
> to a C++11 preprocessor token: Assume the need arises for a move
> constructor in say the Matrix class. How would such a feature be
> implemented using either namespace or separate directories?
Unless I'm completely mistaken, Eigen already detects compiler support
for move constructors and then adds them where appropriate, at least in
current master:
https://bitbucket.org/eigen/eigen/src/f18e65b6e433a6373b218a3516ad820f4887c520/Eigen/src/Core/Matrix.h?at=default#cl-214
The advantage of move constructors is that they're non-invasive: you can
use the Matrix class even without them and all the core functionality
still works. (It gets even better: since they don't change the binary
signature of the class, it's should even be ABI-compatible to mix Eigen
versions compiled with -std=c++0x and without that when linking them
together - although I haven't tried it, so I can't guarantee that for
sure. But it should work...)
In contrast, my Tensor class will definitely need C++11 and it won't
work (even with reduced features) without it. And maybe other modules
will want to use C++11 too for some things.
Cheers,
Christian