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
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