Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-03-05 21:09:30

"Peter Dimov" <pdimov_at_[hidden]> writes:

> Jonathan Turkanis wrote:
>> David Abrahams wrote:
>>> "Peter Dimov" <pdimov_at_[hidden]> 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

Boost list run by bdawes at, gregod at, cpdaniel at, john at