Boost logo

Boost :

From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-03-06 23:20:03

David Abrahams wrote:
> "Jonathan Turkanis" writes:

>> The reason I like the macros is that you only need one version of
>> the code,
> I consider the #ifdef idiom to be only "one version of the code", when
> I look at it. I generally don't need protected members, so I put the
> friends right between the public and private stuff, where it belongs:
> class fu
> {
> public:
> .
> .
> .
> private: // template friends
> template<class Y> friend class shared_ptr;
> template<class Y> friend class weak_ptr;
> #endif
> private: // data members
> T* px;
> detail::shared_count pn;
> };
> Clean and quiet.

I didn't realize macros were noisy.

Looking at the interfaces library, which uses the macros extensively, I see that
the main use comes in base class lists

    class derived : BOOST_IDL_PRIVATE base

and in macros, which can't contain preprocessor directives. Maybe this device is
less useful in non-macro-based libraries.

> Just wait till you start needing nontype template parameters.

I didn't say it was a panacea.

>> It's basically the same idea as BOOST_USE_FACET.
> Never had to use that one.



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