
"Robert Ramey" <ramey@rrsd.com> 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