C++ Logo

sg10

Advanced search

Re: [SG10] __has_include

From: Thomas Plum <tplum_at_[hidden]>
Date: Wed, 19 Jun 2013 20:50:39 +0000
Ok by me ...

> -----Original Message-----
> From: features-bounces_at_[hidden] [mailto:features-bounces_at_open-
> std.org] On Behalf Of Nelson, Clark
> Sent: Wednesday, June 19, 2013 10:36 AM
> To: features_at_[hidden]
> Subject: Re: [SG10] __has_include
>
> Thanks, Richard.
>
> On this topic, I remember that Walter suggested defining macros for new
> headers in <cstddef>, but I don't remember any specific reaction to
> that idea.
>
> Am I just forgetting, or did it actually slip by without comment?
>
> Clark
>
> > -----Original Message-----
> > From: features-bounces_at_[hidden] [mailto:features-bounces_at_open-
> > std.org] On Behalf Of Richard Smith
> > Sent: Wednesday, June 19, 2013 12:11 PM
> > To: features_at_[hidden]
> > Subject: [SG10] __has_include
> >
> > Starting with an example, here's how the new C++14 headers could
> > be
> > detected and used:
> >
> > #ifndef __has_include
> > #define __has_include(x) 0
> > #endif
> >
> > #if __has_include(<optional>)
> > #include <optional>
> > #endif
> >
> > #if __has_include(<dynarray>)
> > #include <dynarray>
> > #endif
> >
> >
> > Specification:
> >
> > __has_include is a predefined function-like macro.
> > __has_include(pp-tokens) expands to 1 if the preprocessing
> > directive
> >
> > #include pp-tokens
> >
> > would identify a header or source file (16.2/1). Otherwise, it
> > expands to 0.
> >
> >
> > Clang's documentation for __has_include is at
> > http://clang.llvm.org/docs/LanguageExtensions.html#include-file-
> > checking-macros
> > _______________________________________________
> > Features mailing list
> > Features_at_[hidden]
> > http://www.open-std.org/mailman/listinfo/features
> _______________________________________________
> Features mailing list
> Features_at_[hidden]
> http://www.open-std.org/mailman/listinfo/features

Received on 2013-06-19 22:58:16