
"Peter Dimov" <pdimov@mmltd.net> writes:
http://www.boost.org/libs/smart_ptr/intrusive_ptr.html#Introduction
However, the situation is different there as the called function only accepts exactly one parameter.
It doesn't matter. ADL should find the overload, provided that 'serialize' is not qualified at the point of the call.
In my own library I use very similar read/write overloads that are, indeed, placed in the namespace of the corresponding class and found by ADL. Yes, it works with VC 7.1.
The recommended "overload in the library namespace" procedure was a big concern for me, but I didn't post anything because I couldn't remember why it's an issue. I have in my mind, left over from my work with Peter on this problem, a rule that in the current language you shouldn't do that, and should rely instead on ADL. I don't know why I think that anymore, but I *can* say that Peter should be listened to in this area; he's more aware of the issues than almost anyone. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com