Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2007-12-01 09:38:51


on Sat Dec 01 2007, "Mat Marcus" <mat-lists-AT-emarcus.org> wrote:

> One of our components supports move semantics. It makes
> use of a free function named move in namespace adobe. We were calling
> it unqualified from within other library routines. With boost 1.35
> this will have to change. Why? Because some classes in the adobe
> library inherit from boost::equality_comparable. As a result, when
> adobe::move is called with such boost-derived classes, ADL pulls in
> the boost namespace and an ambiguity arises against the boost::move
> supplied by boost::thread. One might argue that best practice in the
> face of ADL is to be defensive and to avoid unqualified calls (when
> replaceability is not the intent). In fact, I will do just this for
> our next release. However this would be a little bit more pleasant if
> thread's boost::move was intended as a documented boost-wide
> move-semantics component. In fact we might consider dropping our own
> move component if such a boost component existed. At present however,
> it appears that the boost::move is more of a detail of boost/thread.
> Are we sure that now is the time to put move in the top level boost
> namespace?

These are all important questions, but IMO they deserve their own
thread.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk