
DE wrote:
first, it does use crtp i omitted template parameters for simplicity there is no performance degradation
OK then.
if you supply an actual object it will be passed by reference otherwise the result of an expression will be copied to a temporary and that temorary will be passed by reference (probably that's just what the user needs)
It may break user expectancies about performance tough.
finally if the user is advanced, he may write
template<typename expression_type> void foo(const symmetric_matrix_expression<expression_type> &m);
perfectly readable, typesafe, excellent performance, easy to understand and implement
Sure.
just this moment there is a discussion about enable_if issues you might be intereste On the ML ? It's abotu C++0X in GCC4.5 support of partial function template parameters, nothing to worry about.
-- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35