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 <mdspan>
232#include <print>
233#include <spanstream>
234#include <stacktrace>
235#include <stdatomic.h>
236#include <stdfloat>
237#endif
238
239#if __cplusplus > 202302L
240#include <debugging>
241#include <inplace_vector>
242#include <text_encoding>
243#include <stdbit.h>
244#include <stdckdint.h>
245#endif
246
247#endif // HOSTED