Boost logo

Boost :

Subject: Re: [boost] BOOST_NO_CXX11_ATOMIC?
From: John Maddock (john_at_[hidden])
Date: 2013-12-03 13:21:58


> Beman says that we often define a header macro which says that the header
> doesn't exist when the header exists, but is incomplete. This is correct.
>
> You then - apparently - suggested that we do that (pretend that the header
> doesn't exist), but in addition, supply other macros that signify that the
> header exists and provides some feature. I disagree that we should do
> that. (I say apparently because I wasn't sure that you did, hence my "if"
> qualifier above.)
>
> I think that in such a situation we should provide the feature macros,
> without a header macro. Any positive claim that a feature X exists and
> works implies the existence of the header. The header macro is - in this
> case - redundant.

Right, that's basically what we've always done:

BOOST_NO_HEADER : when not defined, header exists and mostly (usefully)
works.
BOOST_NO_HEADER_FEATURE : when not defined then some "advanced" feature not
covered by the above also works.

Of course deciding what you class as advanced vs usefully works is always
troublesome.

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk