
"Peter Dimov" <pdimov@mmltd.net> writes:
Jonathan Turkanis wrote:
David Abrahams wrote:
"Peter Dimov" <pdimov@mmltd.net> writes:
BOOST_BEFRIEND_TEMPLATE(shared_ptr, Y, 1) BOOST_BEFRIEND_TEMPLATE(weak_ptr, Y, 1) T * px; // contained pointer detail::shared_count pn; // reference counter
This doesn't look any better to me than the original, sorry. ;-)
I agree with Peter. In fact, to me it looks significantly worse.
Well, there's no accounting for taste. ;-) I use similar macros a lot in the Preboost Interfaces library.
This has nothing to do with taste. The original version of the code can be understood immediately as it only relies on general C++ knowledge. The macro-based version adds a level of indirection; you now need to look at the documentation or the definition of the macros.
Right. It would be different if the macros significantly raised the abstraction level, but they don't. -- Dave Abrahams Boost Consulting www.boost-consulting.com