|
61 | 61 | // ... this should approximate "import std;" on those compilers
|
62 | 62 | #else
|
63 | 63 | #include <version>
|
64 |
| - #include <concepts> |
65 |
| - #ifdef __cpp_lib_coroutine |
66 |
| - #include <coroutine> |
67 |
| - #endif |
| 64 | + #include <algorithm> |
68 | 65 | #include <any>
|
| 66 | + #include <array> |
| 67 | + #include <atomic> |
| 68 | + #ifdef __cpp_lib_barrier |
| 69 | + #include <barrier> |
| 70 | + #endif |
| 71 | + #include <bit> |
69 | 72 | #include <bitset>
|
| 73 | + #include <cassert> |
| 74 | + #include <cctype> |
| 75 | + #include <cerrno> |
| 76 | + #include <cfenv> |
| 77 | + #include <cfloat> |
| 78 | + #include <charconv> |
70 | 79 | #include <chrono>
|
| 80 | + #include <cinttypes> |
| 81 | + #include <climits> |
| 82 | + #include <clocale> |
| 83 | + #include <cmath> |
| 84 | + #include <codecvt> |
| 85 | + #include <condition_variable> |
71 | 86 | #include <compare>
|
| 87 | + #include <complex> |
| 88 | + #include <concepts> |
| 89 | + #ifdef __cpp_lib_coroutine |
| 90 | + #include <coroutine> |
| 91 | + #endif |
72 | 92 | #include <csetjmp>
|
73 | 93 | #include <csignal>
|
74 | 94 | #include <cstdarg>
|
75 | 95 | #include <cstddef>
|
76 |
| - #include <cstdlib> |
77 |
| - #include <ctime> |
78 |
| - #include <functional> |
79 |
| - #include <initializer_list> |
80 |
| - #include <optional> |
81 |
| - #ifdef __cpp_lib_source_location |
82 |
| - #include <source_location> |
83 |
| - #endif |
84 |
| - #include <tuple> |
85 |
| - #include <type_traits> |
86 |
| - #include <typeindex> |
87 |
| - #ifndef CPP2_NO_RTTI |
88 |
| - #include <typeinfo> |
89 |
| - #endif |
90 |
| - #include <utility> |
91 |
| - #include <variant> |
92 |
| - #include <memory> |
93 |
| - #ifdef __cpp_lib_memory_resource |
94 |
| - #include <memory_resource> |
95 |
| - #endif |
96 |
| - #include <new> |
97 |
| - #include <scoped_allocator> |
98 |
| - #include <cfloat> |
99 |
| - #include <cinttypes> |
100 |
| - #include <climits> |
101 | 96 | #include <cstdint>
|
102 |
| - #include <limits> |
103 |
| - #include <cassert> |
104 |
| - #include <cerrno> |
105 |
| - #ifndef CPP2_NO_EXCEPTIONS |
106 |
| - #include <exception> |
107 |
| - #endif |
108 |
| - #include <stdexcept> |
109 |
| - #include <system_error> |
110 |
| - #include <cctype> |
111 |
| - #include <charconv> |
| 97 | + #include <cstdio> |
| 98 | + #include <cstdlib> |
112 | 99 | #include <cstring>
|
| 100 | + #include <ctime> |
113 | 101 | #if __has_include(<cuchar>)
|
114 | 102 | #include <cuchar>
|
115 | 103 | #endif
|
116 | 104 | #include <cwchar>
|
117 | 105 | #include <cwctype>
|
| 106 | + #include <deque> |
| 107 | + #ifndef CPP2_NO_EXCEPTIONS |
| 108 | + #include <exception> |
| 109 | + #endif |
| 110 | + // libstdc++ currently has a dependency on linking TBB if <execution> is |
| 111 | + // included, and TBB seems to be not automatically installed and linkable |
| 112 | + // on some GCC installations, so let's not pull in that little-used header |
| 113 | + // in our -pure-cpp2 "import std;" simulation mode... if you need this, |
| 114 | + // use mixed mode (not -pure-cpp2) and #include all the headers you need |
| 115 | + // including this one |
| 116 | + // |
| 117 | + // #include <execution> |
| 118 | + #include <filesystem> |
118 | 119 | #if defined(__cpp_lib_format) || (defined(_MSC_VER) && _MSC_VER >= 1929)
|
119 | 120 | #include <format>
|
120 | 121 | #endif
|
121 |
| - #include <string> |
122 |
| - #include <string_view> |
123 |
| - #include <array> |
124 |
| - #include <deque> |
125 | 122 | #include <forward_list>
|
126 |
| - #include <list> |
127 |
| - #include <map> |
128 |
| - #include <queue> |
129 |
| - #include <set> |
130 |
| - #include <span> |
131 |
| - #include <stack> |
132 |
| - #include <unordered_map> |
133 |
| - #include <unordered_set> |
134 |
| - #include <vector> |
135 |
| - #include <iterator> |
136 |
| - #include <ranges> |
137 |
| - #include <algorithm> |
138 |
| - #include <bit> |
139 |
| - #include <cfenv> |
140 |
| - #include <cmath> |
141 |
| - #include <complex> |
142 |
| - #include <numbers> |
143 |
| - #include <numeric> |
144 |
| - #include <random> |
145 |
| - #include <ratio> |
146 |
| - #include <valarray> |
147 |
| - #include <clocale> |
148 |
| - #include <codecvt> |
149 |
| - #include <locale> |
150 |
| - #include <cstdio> |
151 | 123 | #include <fstream>
|
| 124 | + #include <functional> |
| 125 | + #include <future> |
| 126 | + #include <initializer_list> |
152 | 127 | #include <iomanip>
|
153 | 128 | #include <ios>
|
154 | 129 | #include <iosfwd>
|
155 | 130 | #include <iostream>
|
| 131 | + #include <iso646.h> |
156 | 132 | #include <istream>
|
157 |
| - #include <ostream> |
158 |
| - #ifdef __cpp_lib_spanstream |
159 |
| - #include <spanstream> |
160 |
| - #endif |
161 |
| - #include <sstream> |
162 |
| - #include <streambuf> |
163 |
| - #ifdef __cpp_lib_syncstream |
164 |
| - #include <syncstream> |
165 |
| - #endif |
166 |
| - #include <filesystem> |
167 |
| - #include <regex> |
168 |
| - #include <atomic> |
169 |
| - #ifdef __cpp_lib_barrier |
170 |
| - #include <barrier> |
171 |
| - #endif |
172 |
| - #include <condition_variable> |
173 |
| - #include <future> |
| 133 | + #include <iterator> |
174 | 134 | #ifdef __cpp_lib_latch
|
175 | 135 | #include <latch>
|
176 | 136 | #endif
|
| 137 | + #include <limits> |
| 138 | + #include <list> |
| 139 | + #include <locale> |
| 140 | + #include <map> |
| 141 | + #include <memory> |
| 142 | + #ifdef __cpp_lib_memory_resource |
| 143 | + #include <memory_resource> |
| 144 | + #endif |
177 | 145 | #include <mutex>
|
| 146 | + #include <new> |
| 147 | + #include <numbers> |
| 148 | + #include <numeric> |
| 149 | + #include <optional> |
| 150 | + #include <ostream> |
| 151 | + #include <queue> |
| 152 | + #include <random> |
| 153 | + #include <ranges> |
| 154 | + #include <ratio> |
| 155 | + #include <regex> |
| 156 | + #ifdef __cpp_lib_source_location |
| 157 | + #include <source_location> |
| 158 | + #endif |
| 159 | + #include <scoped_allocator> |
178 | 160 | #ifdef __cpp_lib_semaphore
|
179 | 161 | #include <semaphore>
|
180 | 162 | #endif
|
| 163 | + #include <set> |
181 | 164 | #include <shared_mutex>
|
| 165 | + #include <span> |
| 166 | + #ifdef __cpp_lib_spanstream |
| 167 | + #include <spanstream> |
| 168 | + #endif |
| 169 | + #include <sstream> |
| 170 | + #include <stack> |
| 171 | + #include <stdexcept> |
182 | 172 | #ifdef __cpp_lib_jthread
|
183 | 173 | #include <stop_token>
|
184 | 174 | #endif
|
| 175 | + #include <streambuf> |
| 176 | + #include <string> |
| 177 | + #include <string_view> |
| 178 | + #ifdef __cpp_lib_syncstream |
| 179 | + #include <syncstream> |
| 180 | + #endif |
| 181 | + #include <system_error> |
185 | 182 | #include <thread>
|
186 |
| - #include <iso646.h> |
187 |
| - |
188 |
| - // libstdc++ currently has a dependency on linking TBB if <execution> is |
189 |
| - // included, and TBB seems to be not automatically installed and linkable |
190 |
| - // on some GCC installations, so let's not pull in that little-used header |
191 |
| - // in our -pure-cpp2 "import std;" simulation mode... if you need this, |
192 |
| - // use mixed mode (not -pure-cpp2) and #include all the headers you need |
193 |
| - // including this one |
194 |
| - // |
195 |
| - // #include <execution> |
| 183 | + #include <tuple> |
| 184 | + #include <type_traits> |
| 185 | + #include <typeindex> |
| 186 | + #ifndef CPP2_NO_RTTI |
| 187 | + #include <typeinfo> |
| 188 | + #endif |
| 189 | + #include <unordered_map> |
| 190 | + #include <unordered_set> |
| 191 | + #include <utility> |
| 192 | + #include <valarray> |
| 193 | + #include <variant> |
| 194 | + #include <vector> |
196 | 195 | #endif
|
197 | 196 |
|
198 | 197 | // Otherwise, we're not in -pure-cpp2 and so just #include
|
199 | 198 | // what we need in this header to make this self-contained
|
200 | 199 | #else
|
201 |
| - #include <type_traits> |
202 |
| - #include <new> |
203 |
| - #include <memory> |
204 |
| - #include <random> |
205 |
| - #include <tuple> |
206 |
| - #include <string> |
207 |
| - #include <string_view> |
208 |
| - #include <vector> |
209 |
| - #include <span> |
210 |
| - #include <iostream> |
211 |
| - #include <variant> |
212 |
| - #include <any> |
213 |
| - #include <optional> |
214 |
| - #include <cstddef> |
215 |
| - #include <utility> |
216 |
| - #include <cstdio> |
217 |
| - #include <cstdint> |
218 | 200 | #include <algorithm>
|
| 201 | + #include <any> |
219 | 202 | #include <compare>
|
220 |
| - #include <iterator> |
221 | 203 | #include <concepts>
|
222 |
| - #include <system_error> |
223 |
| - #include <limits> |
224 |
| - #if defined(__cpp_lib_format) || (defined(_MSC_VER) && _MSC_VER >= 1929) |
225 |
| - #include <format> |
226 |
| - #endif |
227 |
| - |
| 204 | + #include <cstddef> |
| 205 | + #include <cstdint> |
| 206 | + #include <cstdio> |
228 | 207 | #ifndef CPP2_NO_EXCEPTIONS
|
229 | 208 | #include <exception>
|
230 | 209 | #endif
|
231 |
| - #ifndef CPP2_NO_RTTI |
232 |
| - #include <typeinfo> |
| 210 | + #if defined(__cpp_lib_format) || (defined(_MSC_VER) && _MSC_VER >= 1929) |
| 211 | + #include <format> |
233 | 212 | #endif
|
234 |
| - |
| 213 | + #include <iostream> |
| 214 | + #include <iterator> |
| 215 | + #include <limits> |
| 216 | + #include <memory> |
| 217 | + #include <new> |
| 218 | + #include <random> |
| 219 | + #include <optional> |
235 | 220 | #if defined(CPP2_USE_SOURCE_LOCATION)
|
236 | 221 | #include <source_location>
|
237 | 222 | #endif
|
| 223 | + #include <span> |
| 224 | + #include <string> |
| 225 | + #include <string_view> |
| 226 | + #include <system_error> |
| 227 | + #include <tuple> |
| 228 | + #include <type_traits> |
| 229 | + #ifndef CPP2_NO_RTTI |
| 230 | + #include <typeinfo> |
| 231 | + #endif |
| 232 | + #include <utility> |
| 233 | + #include <variant> |
| 234 | + #include <vector> |
238 | 235 | #endif
|
239 | 236 |
|
240 | 237 |
|
|
0 commit comments