comments inline... jl schrieb:
Christopher Schmidt writes:
Yeah, this is a major issue of the current fusion implementation. The result_of::-metafunctions do not regard that the actual functions take const-qualified arguments only. On top of that the documentation is outdated and misleading.
Well you could make functions, metafunctions and doc agree like this:
namespace result_of { template
struct join { typedef joint_view< typename add_const<LhSequence>::type, typename add_const<RhSequence>::type > type; }; }
That's what probably best. This change would not break backwards compatibility and it would add a fair amount of comfort to fusion. I am in favour of adding this to the trunk.
My C++0x port of fusion introduces non-const arguments for the algorithm functions and a new result_of::-concept which allows passing (optionally) cv and ref qualified types.
Do you plan to support that in the version for the "old" compilers as well? J-L
Of course. In fact, the code base is pretty much the same for both, c++0x and non-c++0x supporting compiler. At the moment, compilers such as the gcc 3.x line and MSVC >=7.1 are already fully supported. -Christopher