Subject: Re: [boost] [move] problem with msvc and BOOST_MOVABLE_BUT_NOT_COPYABLE
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2010-05-29 18:00:52
Ion Gaztañaga wrote:
> It's a good option, but I'm still reluctant. Adding a base class in
> boost namespace has also implications with ADL and it's unnecessary for
> compilers with deleted definitions (= delete). I need a bit more time to
> see pros/cons.
I think boost::noncopyable is a typedef for boost::noncopyable_::noncopyable. But you are right, it leads to lookup in the namespace boost. But I wonder why it is not implemented as a typedef for boost_noncopyable::noncopyable, as this would seem to avoid the ADL problems.
Jeffrey Lee Hellrung wrote:
> I, too, am (currently) against adding such a base class, for the above
> reasons and for the MSVC EBO reason Ion gave earlier.
I interpreted the proposal in the way that Ilya Sokolov was thinking loudly about modifying boost::noncopyable to suit the need of boost.move. But the problems with unreliable EBO are really an issue for the other proposals of Ilya, as they also make the reinterpret_cast (when implemented in the base class) more dangerous.