]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | |
b32b8144 | 141 | # define BOOST_NO_CXX11_POINTER_TRAITS |
7c673cae FG |
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 | |
92f5a8d4 | 148 | # define BOOST_NO_CXX11_HDR_EXCEPTION |
7c673cae FG |
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 | ||
b32b8144 FG |
160 | // C++14 features |
161 | # define BOOST_NO_CXX14_STD_EXCHANGE | |
162 | ||
7c673cae | 163 | // C++17 features |
b32b8144 | 164 | # define BOOST_NO_CXX17_STD_APPLY |
7c673cae | 165 | # define BOOST_NO_CXX17_STD_INVOKE |
b32b8144 | 166 | # define BOOST_NO_CXX17_ITERATOR_TRAITS |
7c673cae FG |
167 | |
168 | #define BOOST_STDLIB "SGI standard library" |