Boost logo

Boost Users :

Subject: Re: [Boost-users] [container] Initialization from transformed_range compilation error
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2011-09-07 17:39:40


El 07/09/2011 22:30, Daniel James escribió:
> 2011/9/7 Ion Gaztañaga<igaztanaga_at_[hidden]>:
>>
>> That's a limitation of the move emulation explained in the documentation:
>>
>> The macro BOOST_COPYABLE_AND_MOVABLE needs to define a copy constructor for
>> copyable_and_movable taking a non-const parameter in C++03 compilers:
>
> Seems to only be the case for the assignment operator, not the copy
> constructor. I added an assignment operator to the real code and now
> everything works fine.

Yes, sorry, you are right.
>
> I noticed that you have a macro BOOST_COPYABLE_AND_MOVABLE_ALT which
> doesn't define the assignment operator, is that a way to avoid this
> problem? I'd be tempted to do that, implicit move assignment doesn't
> seem that important to me.

The problem is that containers already define the non-const assignment
operator, so there is nothing you can do with this, unless, I put a
compile time switch to change move emulation in Boost.Container.

> While I'm here, can you add both libraries to libs/libraries.htm,
> libs/maintainers.txt, doc/src/boost.xml (unless you want the
> documentation to be built separately?) and add index files to the
> libraries' directories. Let me know if you need any help.

I'll try to do it, I'll ping you if I found any problem, thanks,

Ion


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