Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-06-24 10:16:36


"Robert Ramey" <ramey_at_[hidden]> writes:

> I made special efforts to use ADL for the following reasons
>
> a) serialization could in any of a couple of namespaces
> b) I believe that not using it resulted in problems with compilers that
> implement two-phase lookup
> c) a number of people asked for it

Use of ADL should be limited to places you intend the library's
behavior to be customized ("customization points") in part to avoid
the problem cited below: picking up names used in the library but
never intended to interact with it. Volodya's question is whether
load was really intended to be a customization point.

> Vladimir Prus wrote:
>>> With unmodified CVS state of serialization, I get errors from
>>> compiler because archive/detail/iserializer.hpp contains unqualified
>>> call to 'load', and it find both serialization's 'load', and some
>>> other 'load' that I happen to have.
>>>
>>> I wonder if ADL is desired here? IIUC, the only customization point
>>> is the 'serialize' function -- that will call user provided 'load'
>>> and 'save' explictly. So, there's no need for ADL in iserializer.hpp.
>>>
>>> With the attached patch, things start to work for me. Is it possible
>>> to apply it?
>>>
>>> - Volodya
>>>
>>
>>
>>
>>> _______________________________________________
>>> Unsubscribe & other changes:
>>> http://lists.boost.org/mailman/listinfo.cgi/boost
>
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>

-- 
Dave Abrahams
Boost Consulting
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