Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/config/stdlib/roguewave.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children | c530137014c0 |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
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 __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_ATOMIC_SMART_PTR | |
184 # define BOOST_NO_CXX11_SMART_PTR | |
185 # define BOOST_NO_CXX11_HDR_FUNCTIONAL | |
186 |