github.com/searKing/golang/go@v1.2.117/os/signal/cgo/include/boost/config/stdlib/sgi.hpp (about) 1 // (C) Copyright John Maddock 2001 - 2003. 2 // (C) Copyright Darin Adler 2001. 3 // (C) Copyright Jens Maurer 2001 - 2003. 4 // Use, modification and distribution are subject to the 5 // Boost Software License, Version 1.0. (See accompanying file 6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8 // See http://www.boost.org for most recent version. 9 10 // generic SGI STL: 11 12 #if !defined(__STL_CONFIG_H) 13 # include <boost/config/no_tr1/utility.hpp> 14 # if !defined(__STL_CONFIG_H) 15 # error "This is not the SGI STL!" 16 # endif 17 #endif 18 19 // 20 // No std::iterator traits without partial specialisation: 21 // 22 #if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) 23 # define BOOST_NO_STD_ITERATOR_TRAITS 24 #endif 25 26 // 27 // No std::stringstream with gcc < 3 28 // 29 #if defined(__GNUC__) && (__GNUC__ < 3) && \ 30 ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ 31 !defined(__STL_USE_NEW_IOSTREAMS) || \ 32 defined(__APPLE_CC__) 33 // Note that we only set this for GNU C++ prior to 2.95 since the 34 // latest patches for that release do contain a minimal <sstream> 35 // If you are running a 2.95 release prior to 2.95.3 then this will need 36 // setting, but there is no way to detect that automatically (other 37 // than by running the configure script). 38 // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't 39 // have <sstream>. 40 # define BOOST_NO_STRINGSTREAM 41 #endif 42 43 // Apple doesn't seem to reliably defined a *unix* macro 44 #if !defined(CYGWIN) && ( defined(__unix__) \ 45 || defined(__unix) \ 46 || defined(unix) \ 47 || defined(__APPLE__) \ 48 || defined(__APPLE) \ 49 || defined(APPLE)) 50 # include <unistd.h> 51 #endif 52 53 54 // 55 // Assume no std::locale without own iostreams (this may be an 56 // incorrect assumption in some cases): 57 // 58 #if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) 59 # define BOOST_NO_STD_LOCALE 60 #endif 61 62 // 63 // Original native SGI streams have non-standard std::messages facet: 64 // 65 #if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) 66 # define BOOST_NO_STD_LOCALE 67 #endif 68 69 // 70 // SGI's new iostreams have missing "const" in messages<>::open 71 // 72 #if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) 73 # define BOOST_NO_STD_MESSAGES 74 #endif 75 76 // 77 // No template iterator constructors, or std::allocator 78 // without member templates: 79 // 80 #if !defined(__STL_MEMBER_TEMPLATES) 81 # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS 82 # define BOOST_NO_STD_ALLOCATOR 83 #endif 84 85 // 86 // We always have SGI style hash_set, hash_map, and slist: 87 // 88 #define BOOST_HAS_HASH 89 #define BOOST_HAS_SLIST 90 91 // 92 // If this is GNU libstdc++2, then no <limits> and no std::wstring: 93 // 94 #if (defined(__GNUC__) && (__GNUC__ < 3)) 95 # include <string> 96 # if defined(__BASTRING__) 97 # define BOOST_NO_LIMITS 98 // Note: <boost/limits.hpp> will provide compile-time constants 99 # undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS 100 # define BOOST_NO_STD_WSTRING 101 # endif 102 #endif 103 104 // 105 // There is no standard iterator unless we have namespace support: 106 // 107 #if !defined(__STL_USE_NAMESPACES) 108 # define BOOST_NO_STD_ITERATOR 109 #endif 110 111 // 112 // Intrinsic type_traits support. 113 // The SGI STL has it's own __type_traits class, which 114 // has intrinsic compiler support with SGI's compilers. 115 // Whatever map SGI style type traits to boost equivalents: 116 // 117 #define BOOST_HAS_SGI_TYPE_TRAITS 118 119 // C++0x headers not yet implemented 120 // 121 # define BOOST_NO_CXX11_HDR_ARRAY 122 # define BOOST_NO_CXX11_HDR_CHRONO 123 # define BOOST_NO_CXX11_HDR_CODECVT 124 # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE 125 # define BOOST_NO_CXX11_HDR_FORWARD_LIST 126 # define BOOST_NO_CXX11_HDR_FUTURE 127 # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST 128 # define BOOST_NO_CXX11_HDR_MUTEX 129 # define BOOST_NO_CXX11_HDR_RANDOM 130 # define BOOST_NO_CXX11_HDR_RATIO 131 # define BOOST_NO_CXX11_HDR_REGEX 132 # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR 133 # define BOOST_NO_CXX11_HDR_THREAD 134 # define BOOST_NO_CXX11_HDR_TUPLE 135 # define BOOST_NO_CXX11_HDR_TYPE_TRAITS 136 # define BOOST_NO_CXX11_HDR_TYPEINDEX 137 # define BOOST_NO_CXX11_HDR_UNORDERED_MAP 138 # define BOOST_NO_CXX11_HDR_UNORDERED_SET 139 # define BOOST_NO_CXX11_NUMERIC_LIMITS 140 # define BOOST_NO_CXX11_ALLOCATOR 141 # define BOOST_NO_CXX11_POINTER_TRAITS 142 # define BOOST_NO_CXX11_ATOMIC_SMART_PTR 143 # define BOOST_NO_CXX11_SMART_PTR 144 # define BOOST_NO_CXX11_HDR_FUNCTIONAL 145 # define BOOST_NO_CXX11_HDR_ATOMIC 146 # define BOOST_NO_CXX11_STD_ALIGN 147 # define BOOST_NO_CXX11_ADDRESSOF 148 # define BOOST_NO_CXX11_HDR_EXCEPTION 149 150 #if defined(__has_include) 151 #if !__has_include(<shared_mutex>) 152 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX 153 #elif __cplusplus < 201402 154 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX 155 #endif 156 #else 157 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX 158 #endif 159 160 // C++14 features 161 # define BOOST_NO_CXX14_STD_EXCHANGE 162 163 // C++17 features 164 # define BOOST_NO_CXX17_STD_APPLY 165 # define BOOST_NO_CXX17_STD_INVOKE 166 # define BOOST_NO_CXX17_ITERATOR_TRAITS 167 168 #define BOOST_STDLIB "SGI standard library"