libstdc++
stdc++.h
Go to the documentation of this file.
1// C++ includes used for precompiling -*- C++ -*-
2
3// Copyright (C) 2003-2023 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 <ciso646>
38#include <climits>
39#include <csetjmp>
40#include <cstdarg>
41#include <cstddef>
42#include <cstdlib>
43
44#if __cplusplus >= 201103L
45#include <cstdint>
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#endif
94
95#if __cplusplus > 202002L
96#include <expected>
97#include <stdatomic.h>
98#if __cpp_impl_coroutine
99# include <coroutine>
100#endif
101#endif
102
103#if _GLIBCXX_HOSTED
104// C
105#ifndef _GLIBCXX_NO_ASSERT
106#include <cassert>
107#endif
108#include <cctype>
109#include <cerrno>
110#include <cfloat>
111#include <ciso646>
112#include <climits>
113#include <clocale>
114#include <cmath>
115#include <csetjmp>
116#include <csignal>
117#include <cstdarg>
118#include <cstddef>
119#include <cstdio>
120#include <cstdlib>
121#include <cstring>
122#include <ctime>
123#include <cwchar>
124#include <cwctype>
125
126#if __cplusplus >= 201103L
127#include <ccomplex>
128#include <cfenv>
129#include <cinttypes>
130#include <cstdalign>
131#include <cstdbool>
132#include <cstdint>
133#include <ctgmath>
134#include <cuchar>
135#endif
136
137// C++
138#include <complex>
139#include <deque>
140#include <exception>
141#include <fstream>
142#include <functional>
143#include <iomanip>
144#include <ios>
145#include <iosfwd>
146#include <iostream>
147#include <istream>
148#include <iterator>
149#include <limits>
150#include <list>
151#include <locale>
152#include <map>
153#include <memory>
154#include <new>
155#include <numeric>
156#include <ostream>
157#include <queue>
158#include <set>
159#include <sstream>
160#include <stack>
161#include <stdexcept>
162#include <streambuf>
163#include <string>
164#include <typeinfo>
165#include <utility>
166#include <valarray>
167#include <vector>
168
169#if __cplusplus >= 201103L
170#include <array>
171#include <atomic>
172#include <chrono>
173#include <codecvt>
174#include <condition_variable>
175#include <forward_list>
176#include <future>
177#include <initializer_list>
178#include <mutex>
179#include <random>
180#include <ratio>
181#include <regex>
182#include <scoped_allocator>
183#include <system_error>
184#include <thread>
185#include <tuple>
186#include <typeindex>
187#include <type_traits>
188#include <unordered_map>
189#include <unordered_set>
190#endif
191
192#if __cplusplus >= 201402L
193#include <shared_mutex>
194#endif
195
196#if __cplusplus >= 201703L
197#include <any>
198#include <charconv>
199// #include <execution>
200#include <filesystem>
201#include <optional>
202#include <memory_resource>
203#include <variant>
204#endif
205
206#if __cplusplus >= 202002L
207#include <barrier>
208#include <bit>
209#include <compare>
210#include <concepts>
211#include <format>
212#include <latch>
213#include <numbers>
214#include <ranges>
215#include <span>
216#include <stop_token>
217#include <semaphore>
218#include <source_location>
219#include <syncstream>
220#include <version>
221#endif
222
223#if __cplusplus > 202002L
224#include <expected>
225#include <spanstream>
226#if __has_include(<stacktrace>)
227# include <stacktrace>
228#endif
229#include <stdatomic.h>
230#include <stdfloat>
231#endif
232
233#endif // HOSTED
Parallel STL function calls corresponding to stl_numeric.h. The functions defined here mainly do case...