libstdc++
stdc++.h
Go to the documentation of this file.
1 // C++ includes used for precompiling -*- C++ -*-
2 
3 // Copyright (C) 2003-2025 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 3, or (at your option)
9 // any later version.
10 
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 
16 // Under Section 7 of GPL version 3, you are granted additional
17 // permissions described in the GCC Runtime Library Exception, version
18 // 3.1, as published by the Free Software Foundation.
19 
20 // You should have received a copy of the GNU General Public License and
21 // a copy of the GCC Runtime Library Exception along with this program;
22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23 // <http://www.gnu.org/licenses/>.
24 
25 /** @file stdc++.h
26  * This is an implementation file for a precompiled header.
27  */
28 
29 // 17.4.1.2 Headers
30 
31 // C
32 #ifndef _GLIBCXX_NO_ASSERT
33 #include <cassert>
34 #endif
35 #include <cctype>
36 #include <cfloat>
37 #include <climits>
38 #include <csetjmp>
39 #include <cstdarg>
40 #include <cstddef>
41 #include <cstdlib>
42 
43 #if __cplusplus >= 201103L
44 #include <cstdint>
45 #if __cplusplus < 201703L
46 #include <ciso646>
47 #endif
48 #endif
49 
50 // C++
51 // #include <bitset>
52 // #include <complex>
53 #include <algorithm>
54 #include <bitset>
55 #include <functional>
56 #include <iterator>
57 #include <limits>
58 #include <memory>
59 #include <new>
60 #include <numeric>
61 #include <typeinfo>
62 #include <utility>
63 
64 #if __cplusplus >= 201103L
65 #include <array>
66 #include <atomic>
67 #include <initializer_list>
68 #include <ratio>
69 #include <scoped_allocator>
70 #include <tuple>
71 #include <typeindex>
72 #include <type_traits>
73 #endif
74 
75 #if __cplusplus >= 201402L
76 #endif
77 
78 #if __cplusplus >= 201703L
79 #include <any>
80 // #include <execution>
81 #include <optional>
82 #include <variant>
83 #include <string_view>
84 #endif
85 
86 #if __cplusplus >= 202002L
87 #include <bit>
88 #include <compare>
89 #include <concepts>
90 #include <numbers>
91 #include <ranges>
92 #include <span>
93 #include <source_location>
94 #include <version>
95 #if __cpp_impl_coroutine
96 # include <coroutine>
97 #endif
98 #endif
99 
100 #if __cplusplus > 202002L
101 #include <expected>
102 #include <stdatomic.h>
103 #endif
104 
105 #if _GLIBCXX_HOSTED
106 // C
107 #ifndef _GLIBCXX_NO_ASSERT
108 #include <cassert>
109 #endif
110 #include <cctype>
111 #include <cerrno>
112 #include <cfloat>
113 #include <climits>
114 #include <clocale>
115 #include <cmath>
116 #include <csetjmp>
117 #include <csignal>
118 #include <cstdarg>
119 #include <cstddef>
120 #include <cstdio>
121 #include <cstdlib>
122 #include <cstring>
123 #include <ctime>
124 #include <cwchar>
125 #include <cwctype>
126 
127 #if __cplusplus >= 201103L
128 #include <cfenv>
129 #include <cinttypes>
130 #include <cstdint>
131 #include <cuchar>
132 #if __cplusplus < 201703L
133 #include <ccomplex>
134 #include <cstdalign>
135 #include <cstdbool>
136 #include <ctgmath>
137 #endif
138 #endif
139 
140 // C++
141 #include <complex>
142 #include <deque>
143 #include <exception>
144 #include <fstream>
145 #include <functional>
146 #include <iomanip>
147 #include <ios>
148 #include <iosfwd>
149 #include <iostream>
150 #include <istream>
151 #include <iterator>
152 #include <limits>
153 #include <list>
154 #include <locale>
155 #include <map>
156 #include <memory>
157 #include <new>
158 #include <numeric>
159 #include <ostream>
160 #include <queue>
161 #include <set>
162 #include <sstream>
163 #include <stack>
164 #include <stdexcept>
165 #include <streambuf>
166 #include <string>
167 #include <typeinfo>
168 #include <utility>
169 #include <valarray>
170 #include <vector>
171 
172 #if __cplusplus >= 201103L
173 #include <array>
174 #include <atomic>
175 #include <chrono>
176 #include <codecvt>
177 #include <condition_variable>
178 #include <forward_list>
179 #include <future>
180 #include <initializer_list>
181 #include <mutex>
182 #include <random>
183 #include <ratio>
184 #include <regex>
185 #include <scoped_allocator>
186 #include <system_error>
187 #include <thread>
188 #include <tuple>
189 #include <typeindex>
190 #include <type_traits>
191 #include <unordered_map>
192 #include <unordered_set>
193 #endif
194 
195 #if __cplusplus >= 201402L
196 #include <shared_mutex>
197 #endif
198 
199 #if __cplusplus >= 201703L
200 #include <any>
201 #include <charconv>
202 // #include <execution>
203 #include <filesystem>
204 #include <optional>
205 #include <memory_resource>
206 #include <variant>
207 #endif
208 
209 #if __cplusplus >= 202002L
210 #include <barrier>
211 #include <bit>
212 #include <compare>
213 #include <concepts>
214 #include <format>
215 #include <latch>
216 #include <numbers>
217 #include <ranges>
218 #include <span>
219 #include <stop_token>
220 #include <semaphore>
221 #include <source_location>
222 #include <syncstream>
223 #include <version>
224 #endif
225 
226 #if __cplusplus > 202002L
227 #include <expected>
228 #include <flat_map>
229 #include <flat_set>
230 #include <generator>
231 #include <print>
232 #include <spanstream>
233 #include <stacktrace>
234 #include <stdatomic.h>
235 #include <stdfloat>
236 #endif
237 
238 #if __cplusplus > 202302L
239 #include <text_encoding>
240 #include <stdbit.h>
241 #include <stdckdint.h>
242 #endif
243 
244 #endif // HOSTED