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
source_location
generator
mutex
typeinfo
deque
forward_list
cwctype
cmath
codecvt
tuple
syncstream
cstdalign
map
string
latch
vector
random
ios
unordered_set
flat_map
functional
memory
concepts
compare
cstring
stdckdint.h
barrier
format
cstddef
csetjmp
typeindex
cinttypes
system_error
cctype
istream
valarray
sstream
initializer_list
iosfwd
cwchar
optional
future
memory_resource
stdatomic.h
condition_variable
cstdarg
clocale
cfenv
csignal
stop_token
locale
regex
iterator
queue
numeric
ciso646
charconv
cstdlib
thread
stdbit.h
atomic
stack
cfloat
set
limits
ranges
ostream
span
iomanip
algorithm
expected
exception
complex
ctime
numbers
bit
cstdint
variant
any
climits
scoped_allocator
string_view
cassert
stdexcept
utility
shared_mutex
flat_set
list
ratio
new
cuchar
print
chrono
fstream
type_traits
bitset
cstdio
text_encoding
cerrno
array
streambuf
unordered_map
semaphore
filesystem
iostream