C++ Logo

sg10

Advanced search

Re: [SG10] Draft: ready for the mid-term mailing?

From: Jens Maurer <Jens.Maurer_at_[hidden]>
Date: Wed, 26 Jun 2013 22:05:47 +0200
First of all, I generally like the current state of the proposal.

__has_include() is probably a good way forward, because there is
no really convincing spot where to put a plain macro indicating
the presence of the header.


On 06/26/2013 09:13 PM, Nelson, Clark wrote:
> Please note that I am unable to provide a rational explanation for SG10's
> decision not to recommend macros specific to the new headers.

I don't follow. I can see two yellow spots in the attached file.
Assuming N3662 is dynarray (sorry, I'm in a hurry), this is
covered by __has_include(<dynarray>), right?

Same for <optional>.

If, at some later time, there are incremental changes, we can
introduce a plain macro __cpp_lib_dynarray with a version number,
defined in the appropriate header, right?

Yes, that leads to

#if __has_include(<dynarray>)
#include <dynarray>
#else
#define __cpp_lib_dynarray 0
#endif

in user code in some hypothetical future standard with a revised
<dynarray>. I don't see a way out unless rehashing the __has_include
discussion.

Jens

Received on 2013-06-26 22:11:27