Boost logo

Boost Users :

Subject: Re: [Boost-users] [fusion] probably a bug in result_of::join
From: Christopher Schmidt (mr.chr.schmidt_at_[hidden])
Date: 2009-10-14 11:09:26


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<typename LhSequence, typename RhSequence>
> 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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net