libstdc++
stdc++.h
Go to the documentation of this file.
1 // C++ includes used for precompiling -*- C++ -*-
2 
3 // Copyright (C) 2003-2026 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 // Don't include cassert, it's not suitable for PCH or header unit.
33 #include <cctype>
34 #include <cfloat>
35 #include <climits>
36 #include <csetjmp>
37 #include <cstdarg>
38 #include <cstddef>
39 #include <cstdlib>
40 
41 #if __cplusplus >= 201103L
42 #include <cstdint>
43 #if __cplusplus < 201703L
44 #include <ciso646>
45 #endif
46 #endif
47 
48 // C++
49 // #include <bitset>
50 // #include <complex>
51 #include <algorithm>
52 #include <bitset>
53 #include <functional>
54 #include <iterator>
55 #include <limits>
56 #include <memory>
57 #include <new>
58 #include <numeric>
59 #include <typeinfo>
60 #include <utility>
61 
62 #if __cplusplus >= 201103L
63 #include <array>
64 #include <atomic>
65 #include <initializer_list>
66 #include <ratio>
67 #include <scoped_allocator>
68 #include <tuple>
69 #include <typeindex>
70 #include <type_traits>
71 #endif
72 
73 #if __cplusplus >= 201402L
74 #endif
75 
76 #if __cplusplus >= 201703L
77 #include <any>
78 // #include <execution>
79 #include <optional>
80 #include <variant>
81 #include <string_view>
82 #endif
83 
84 #if __cplusplus >= 202002L
85 #include <bit>
86 #include <compare>
87 #include <concepts>
88 #include <numbers>
89 #include <ranges>
90 #include <span>
91 #include <source_location>
92 #include <version>
93 #if __cpp_impl_coroutine
94 # include <coroutine>
95 #endif
96 #endif
97 
98 #if __cplusplus > 202002L
99 #include <expected>
100 #include <stdatomic.h>
101 #endif
102 
103 #if _GLIBCXX_HOSTED
104 // C
105 #include <cctype>
106 #include <cerrno>
107 #include <cfloat>
108 #include <climits>
109 #include <clocale>
110 #include <cmath>
111 #include <csetjmp>
112 #include <csignal>
113 #include <cstdarg>
114 #include <cstddef>
115 #include <cstdio>
116 #include <cstdlib>
117 #include <cstring>
118 #include <ctime>
119 #include <cwchar>
120 #include <cwctype>
121 
122 #if __cplusplus >= 201103L
123 #include <cfenv>
124 #include <cinttypes>
125 #include <cstdint>
126 #include <cuchar>
127 #if __cplusplus < 201703L
128 #include <ccomplex>
129 #include <cstdalign>
130 #include <cstdbool>
131 #include <ctgmath>
132 #endif
133 #endif
134 
135 // C++
136 #include <complex>
137 #include <deque>
138 #include <exception>
139 #include <fstream>
140 #include <functional>
141 #include <iomanip>
142 #include <ios>
143 #include <iosfwd>
144 #include <iostream>
145 #include <istream>
146 #include <iterator>
147 #include <limits>
148 #include <list>
149 #include <locale>
150 #include <map>
151 #include <memory>
152 #include <new>
153 #include <numeric>
154 #include <ostream>
155 #include <queue>
156 #include <set>
157 #include <sstream>
158 #include <stack>
159 #include <stdexcept>
160 #include <streambuf>
161 #include <string>
162 #include <typeinfo>
163 #include <utility>
164 #include <valarray>
165 #include <vector>
166 
167 #if __cplusplus >= 201103L
168 #include <array>
169 #include <atomic>
170 #include <chrono>
171 #include <codecvt>
172 #include <condition_variable>
173 #include <forward_list>
174 #include <future>
175 #include <initializer_list>
176 #include <mutex>
177 #include <random>
178 #include <ratio>
179 #include <regex>
180 #include <scoped_allocator>
181 #include <system_error>
182 #include <thread>
183 #include <tuple>
184 #include <typeindex>
185 #include <type_traits>
186 #include <unordered_map>
187 #include <unordered_set>
188 #endif
189 
190 #if __cplusplus >= 201402L
191 #include <shared_mutex>
192 #endif
193 
194 #if __cplusplus >= 201703L
195 #include <any>
196 #include <charconv>
197 // #include <execution>
198 #include <filesystem>
199 #include <optional>
200 #include <memory_resource>
201 #include <variant>
202 #endif
203 
204 #if __cplusplus >= 202002L
205 #include <barrier>
206 #include <bit>
207 #include <compare>
208 #include <concepts>
209 #include <format>
210 #include <latch>
211 #include <numbers>
212 #include <ranges>
213 #include <span>
214 #include <stop_token>
215 #include <semaphore>
216 #include <source_location>
217 #include <syncstream>
218 #include <version>
219 #endif
220 
221 #if __cplusplus > 202002L
222 #include <expected>
223 #include <flat_map>
224 #include <flat_set>
225 #include <generator>
226 #include <mdspan>
227 #include <print>
228 #include <spanstream>
229 #include <stacktrace>
230 #include <stdatomic.h>
231 #include <stdfloat>
232 #endif
233 
234 #if __cplusplus > 202302L
235 #include <contracts>
236 #include <debugging>
237 #include <inplace_vector>
238 #include <meta>
239 #include <text_encoding>
240 #include <stdbit.h>
241 #include <stdckdint.h>
242 #endif
243 
244 #endif // HOSTED
set
generator
memory
typeinfo
deque
forward_list
cwchar
climits
codecvt
text_encoding
string
vector
csetjmp
locale
stop_token
iterator
valarray
print
iomanip
type_traits
flat_map
functional
map
concepts
compare
cstdio
stdckdint.h
barrier
format
cstdarg
clocale
thread
cfenv
string_view
iostream
unordered_set
source_location
initializer_list
ios
numeric
future
mdspan
stdatomic.h
condition_variable
csignal
ciso646
cctype
cmath
stack
list
ranges
istream
ostream
cstdlib
memory_resource
cfloat
charconv
cstdint
system_error
stdbit.h
atomic
cstdalign
span
cerrno
scoped_allocator
latch
queue
numbers
shared_mutex
inplace_vector
algorithm
expected
cuchar
exception
complex
cstring
mutex
bit
utility
any
cwctype
cinttypes
ratio
streambuf
variant
sstream
unordered_map
semaphore
flat_set
limits
random
new
ctime
optional
chrono
fstream
tuple
bitset
cstddef
syncstream
array
stdexcept
typeindex
regex
filesystem
iosfwd