C++ Logo

sg10

Advanced search

[SG10] __has_include

From: Richard Smith <richard_at_[hidden]>
Date: Wed, 19 Jun 2013 12:11:02 -0700
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

Received on 2013-06-19 21:11:04