github.com/searKing/golang/go@v1.2.117/os/signal/cgo/include/boost/config/stdlib/roguewave.hpp (about) 1 // (C) Copyright John Maddock 2001 - 2003. 2 // (C) Copyright Jens Maurer 2001. 3 // (C) Copyright David Abrahams 2003. 4 // (C) Copyright Boris Gubenko 2007. 5 // Use, modification and distribution are subject to the 6 // Boost Software License, Version 1.0. (See accompanying file 7 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 9 // See http://www.boost.org for most recent version. 10 11 // Rogue Wave std lib: 12 13 #define BOOST_RW_STDLIB 1 14 15 #if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) 16 # include <boost/config/no_tr1/utility.hpp> 17 # if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) 18 # error This is not the Rogue Wave standard library 19 # endif 20 #endif 21 // 22 // figure out a consistent version number: 23 // 24 #ifndef _RWSTD_VER 25 # define BOOST_RWSTD_VER 0x010000 26 #elif _RWSTD_VER < 0x010000 27 # define BOOST_RWSTD_VER (_RWSTD_VER << 8) 28 #else 29 # define BOOST_RWSTD_VER _RWSTD_VER 30 #endif 31 32 #ifndef _RWSTD_VER 33 # define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" 34 #elif _RWSTD_VER < 0x04010200 35 # define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) 36 #else 37 # ifdef _RWSTD_VER_STR 38 # define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR 39 # else 40 # define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER) 41 # endif 42 #endif 43 44 // 45 // Prior to version 2.2.0 the primary template for std::numeric_limits 46 // does not have compile time constants, even though specializations of that 47 // template do: 48 // 49 #if BOOST_RWSTD_VER < 0x020200 50 # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS 51 #endif 52 53 // Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the 54 // library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): 55 #if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) 56 # define BOOST_NO_LONG_LONG_NUMERIC_LIMITS 57 # endif 58 59 // 60 // Borland version of numeric_limits lacks __int64 specialisation: 61 // 62 #ifdef BOOST_BORLANDC 63 # define BOOST_NO_MS_INT64_NUMERIC_LIMITS 64 #endif 65 66 // 67 // No std::iterator if it can't figure out default template args: 68 // 69 #if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) 70 # define BOOST_NO_STD_ITERATOR 71 #endif 72 73 // 74 // No iterator traits without partial specialization: 75 // 76 #if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) 77 # define BOOST_NO_STD_ITERATOR_TRAITS 78 #endif 79 80 // 81 // Prior to version 2.0, std::auto_ptr was buggy, and there were no 82 // new-style iostreams, and no conformant std::allocator: 83 // 84 #if (BOOST_RWSTD_VER < 0x020000) 85 # define BOOST_NO_AUTO_PTR 86 # define BOOST_NO_STRINGSTREAM 87 # define BOOST_NO_STD_ALLOCATOR 88 # define BOOST_NO_STD_LOCALE 89 #endif 90 91 // 92 // No template iterator constructors without member template support: 93 // 94 #if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) 95 # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS 96 #endif 97 98 // 99 // RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use 100 // (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR 101 // on HP aCC systems even though the allocator is in fact broken): 102 // 103 #if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) 104 # define BOOST_NO_STD_ALLOCATOR 105 #endif 106 107 // 108 // If we have a std::locale, we still may not have std::use_facet: 109 // 110 #if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) 111 # define BOOST_NO_STD_USE_FACET 112 # define BOOST_HAS_TWO_ARG_USE_FACET 113 #endif 114 115 // 116 // There's no std::distance prior to version 2, or without 117 // partial specialization support: 118 // 119 #if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) 120 #define BOOST_NO_STD_DISTANCE 121 #endif 122 123 // 124 // Some versions of the rogue wave library don't have assignable 125 // OutputIterators: 126 // 127 #if BOOST_RWSTD_VER < 0x020100 128 # define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN 129 #endif 130 131 // 132 // Disable BOOST_HAS_LONG_LONG when the library has no support for it. 133 // 134 #if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) 135 # undef BOOST_HAS_LONG_LONG 136 #endif 137 138 // 139 // check that on HP-UX, the proper RW library is used 140 // 141 #if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD) 142 # error "Boost requires Standard RW library. Please compile and link with -AA" 143 #endif 144 145 // 146 // Define macros specific to RW V2.2 on HP-UX 147 // 148 #if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100) 149 # ifndef __HP_TC1_MAKE_PAIR 150 # define __HP_TC1_MAKE_PAIR 151 # endif 152 # ifndef _HP_INSTANTIATE_STD2_VL 153 # define _HP_INSTANTIATE_STD2_VL 154 # endif 155 #endif 156 157 #if _RWSTD_VER < 0x05000000 158 # define BOOST_NO_CXX11_HDR_ARRAY 159 #endif 160 // type_traits header is incomplete: 161 # define BOOST_NO_CXX11_HDR_TYPE_TRAITS 162 // 163 // C++0x headers not yet implemented 164 // 165 # define BOOST_NO_CXX11_HDR_CHRONO 166 # define BOOST_NO_CXX11_HDR_CODECVT 167 # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE 168 # define BOOST_NO_CXX11_HDR_FORWARD_LIST 169 # define BOOST_NO_CXX11_HDR_FUTURE 170 # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST 171 # define BOOST_NO_CXX11_HDR_MUTEX 172 # define BOOST_NO_CXX11_HDR_RANDOM 173 # define BOOST_NO_CXX11_HDR_RATIO 174 # define BOOST_NO_CXX11_HDR_REGEX 175 # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR 176 # define BOOST_NO_CXX11_HDR_THREAD 177 # define BOOST_NO_CXX11_HDR_TUPLE 178 # define BOOST_NO_CXX11_HDR_TYPEINDEX 179 # define BOOST_NO_CXX11_HDR_UNORDERED_MAP 180 # define BOOST_NO_CXX11_HDR_UNORDERED_SET 181 # define BOOST_NO_CXX11_NUMERIC_LIMITS 182 # define BOOST_NO_CXX11_ALLOCATOR 183 # define BOOST_NO_CXX11_POINTER_TRAITS 184 # define BOOST_NO_CXX11_ATOMIC_SMART_PTR 185 # define BOOST_NO_CXX11_SMART_PTR 186 # define BOOST_NO_CXX11_HDR_FUNCTIONAL 187 # define BOOST_NO_CXX11_HDR_ATOMIC 188 # define BOOST_NO_CXX11_STD_ALIGN 189 # define BOOST_NO_CXX11_ADDRESSOF 190 # define BOOST_NO_CXX11_HDR_EXCEPTION 191 192 #if defined(__has_include) 193 #if !__has_include(<shared_mutex>) 194 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX 195 #elif __cplusplus < 201402 196 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX 197 #endif 198 #else 199 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX 200 #endif 201 202 // C++14 features 203 # define BOOST_NO_CXX14_STD_EXCHANGE 204 205 // C++17 features 206 # define BOOST_NO_CXX17_STD_APPLY 207 # define BOOST_NO_CXX17_STD_INVOKE 208 # define BOOST_NO_CXX17_ITERATOR_TRAITS