github.com/searKing/golang/go@v1.2.117/os/signal/cgo/include/boost/predef/language/stdcpp.h (about) 1 /* 2 Copyright Rene Rivera 2011-2015 3 Distributed under the Boost Software License, Version 1.0. 4 (See accompanying file LICENSE_1_0.txt or copy at 5 http://www.boost.org/LICENSE_1_0.txt) 6 */ 7 8 #ifndef BOOST_PREDEF_LANGUAGE_STDCPP_H 9 #define BOOST_PREDEF_LANGUAGE_STDCPP_H 10 11 #include <boost/predef/version_number.h> 12 #include <boost/predef/make.h> 13 14 /* tag::reference[] 15 = `BOOST_LANG_STDCPP` 16 17 http://en.wikipedia.org/wiki/C%2B%2B[Standard {CPP}] language. 18 If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date. 19 Because of the way the {CPP} standardization process works the 20 defined version year will not be the commonly known year of the standard. 21 Specifically the defined versions are: 22 23 .Detected Version Number vs. {CPP} Standard Year 24 [options="header"] 25 |=== 26 | Detected Version Number | Standard Year | {CPP} Standard 27 | 27.11.1 | 1998 | ISO/IEC 14882:1998 28 | 41.3.1 | 2011 | ISO/IEC 14882:2011 29 | 44.2.1 | 2014 | ISO/IEC 14882:2014 30 | 47.3.1 | 2017 | ISO/IEC 14882:2017 31 |=== 32 33 [options="header"] 34 |=== 35 | {predef_symbol} | {predef_version} 36 37 | `+__cplusplus+` | {predef_detection} 38 39 | `+__cplusplus+` | YYYY.MM.1 40 |=== 41 */ // end::reference[] 42 43 #define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_NOT_AVAILABLE 44 45 #if defined(__cplusplus) 46 # undef BOOST_LANG_STDCPP 47 # if (__cplusplus > 100) 48 # define BOOST_LANG_STDCPP BOOST_PREDEF_MAKE_YYYYMM(__cplusplus) 49 # else 50 # define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_AVAILABLE 51 # endif 52 #endif 53 54 #if BOOST_LANG_STDCPP 55 # define BOOST_LANG_STDCPP_AVAILABLE 56 #endif 57 58 #define BOOST_LANG_STDCPP_NAME "Standard C++" 59 60 /* tag::reference[] 61 = `BOOST_LANG_STDCPPCLI` 62 63 http://en.wikipedia.org/wiki/C%2B%2B/CLI[Standard {CPP}/CLI] language. 64 If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date. 65 66 [options="header"] 67 |=== 68 | {predef_symbol} | {predef_version} 69 70 | `+__cplusplus_cli+` | {predef_detection} 71 72 | `+__cplusplus_cli+` | YYYY.MM.1 73 |=== 74 */ // end::reference[] 75 76 #define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_NOT_AVAILABLE 77 78 #if defined(__cplusplus_cli) 79 # undef BOOST_LANG_STDCPPCLI 80 # if (__cplusplus_cli > 100) 81 # define BOOST_LANG_STDCPPCLI BOOST_PREDEF_MAKE_YYYYMM(__cplusplus_cli) 82 # else 83 # define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_AVAILABLE 84 # endif 85 #endif 86 87 #if BOOST_LANG_STDCPPCLI 88 # define BOOST_LANG_STDCPPCLI_AVAILABLE 89 #endif 90 91 #define BOOST_LANG_STDCPPCLI_NAME "Standard C++/CLI" 92 93 /* tag::reference[] 94 = `BOOST_LANG_STDECPP` 95 96 http://en.wikipedia.org/wiki/Embedded_C%2B%2B[Standard Embedded {CPP}] language. 97 98 [options="header"] 99 |=== 100 | {predef_symbol} | {predef_version} 101 102 | `+__embedded_cplusplus+` | {predef_detection} 103 |=== 104 */ // end::reference[] 105 106 #define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_NOT_AVAILABLE 107 108 #if defined(__embedded_cplusplus) 109 # undef BOOST_LANG_STDECPP 110 # define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_AVAILABLE 111 #endif 112 113 #if BOOST_LANG_STDECPP 114 # define BOOST_LANG_STDECPP_AVAILABLE 115 #endif 116 117 #define BOOST_LANG_STDECPP_NAME "Standard Embedded C++" 118 119 #endif 120 121 #include <boost/predef/detail/test.h> 122 BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDCPP,BOOST_LANG_STDCPP_NAME) 123 124 #include <boost/predef/detail/test.h> 125 BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDCPPCLI,BOOST_LANG_STDCPPCLI_NAME) 126 127 #include <boost/predef/detail/test.h> 128 BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDECPP,BOOST_LANG_STDECPP_NAME)