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