xref: /freebsd-src/contrib/llvm-project/libcxx/modules/std.cppm.in (revision 5f757f3ff9144b609b3c433dfd370cc6bdc191ad)
1*5f757f3fSDimitry Andric// -*- C++ -*-
2*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
3*5f757f3fSDimitry Andric//
4*5f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5*5f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
6*5f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7*5f757f3fSDimitry Andric//
8*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
9*5f757f3fSDimitry Andric
10*5f757f3fSDimitry Andric// WARNING, this entire header is generated by
11*5f757f3fSDimitry Andric// utils/generate_libcxx_cppm_in.py
12*5f757f3fSDimitry Andric// DO NOT MODIFY!
13*5f757f3fSDimitry Andric
14*5f757f3fSDimitry Andricmodule;
15*5f757f3fSDimitry Andric
16*5f757f3fSDimitry Andric#include <__config>
17*5f757f3fSDimitry Andric
18*5f757f3fSDimitry Andric// The headers of Table 24: C++ library headers [tab:headers.cpp]
19*5f757f3fSDimitry Andric// and the headers of Table 25: C++ headers for C library facilities [tab:headers.cpp.c]
20*5f757f3fSDimitry Andric#include <algorithm>
21*5f757f3fSDimitry Andric#include <any>
22*5f757f3fSDimitry Andric#include <array>
23*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
24*5f757f3fSDimitry Andric#  include <atomic>
25*5f757f3fSDimitry Andric#endif
26*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS)
27*5f757f3fSDimitry Andric#  include <barrier>
28*5f757f3fSDimitry Andric#endif
29*5f757f3fSDimitry Andric#include <bit>
30*5f757f3fSDimitry Andric#include <bitset>
31*5f757f3fSDimitry Andric#include <cassert>
32*5f757f3fSDimitry Andric#include <cctype>
33*5f757f3fSDimitry Andric#include <cerrno>
34*5f757f3fSDimitry Andric#include <cfenv>
35*5f757f3fSDimitry Andric#include <cfloat>
36*5f757f3fSDimitry Andric#include <charconv>
37*5f757f3fSDimitry Andric#include <chrono>
38*5f757f3fSDimitry Andric#include <cinttypes>
39*5f757f3fSDimitry Andric#include <climits>
40*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
41*5f757f3fSDimitry Andric#  include <clocale>
42*5f757f3fSDimitry Andric#endif
43*5f757f3fSDimitry Andric#include <cmath>
44*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
45*5f757f3fSDimitry Andric#  include <codecvt>
46*5f757f3fSDimitry Andric#endif
47*5f757f3fSDimitry Andric#include <compare>
48*5f757f3fSDimitry Andric#include <complex>
49*5f757f3fSDimitry Andric#include <concepts>
50*5f757f3fSDimitry Andric#include <condition_variable>
51*5f757f3fSDimitry Andric#include <coroutine>
52*5f757f3fSDimitry Andric#include <csetjmp>
53*5f757f3fSDimitry Andric#include <csignal>
54*5f757f3fSDimitry Andric#include <cstdarg>
55*5f757f3fSDimitry Andric#include <cstddef>
56*5f757f3fSDimitry Andric#include <cstdint>
57*5f757f3fSDimitry Andric#include <cstdio>
58*5f757f3fSDimitry Andric#include <cstdlib>
59*5f757f3fSDimitry Andric#include <cstring>
60*5f757f3fSDimitry Andric#include <ctime>
61*5f757f3fSDimitry Andric#include <cuchar>
62*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)
63*5f757f3fSDimitry Andric#  include <cwchar>
64*5f757f3fSDimitry Andric#endif
65*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)
66*5f757f3fSDimitry Andric#  include <cwctype>
67*5f757f3fSDimitry Andric#endif
68*5f757f3fSDimitry Andric#include <deque>
69*5f757f3fSDimitry Andric#include <exception>
70*5f757f3fSDimitry Andric#include <execution>
71*5f757f3fSDimitry Andric#include <expected>
72*5f757f3fSDimitry Andric#include <filesystem>
73*5f757f3fSDimitry Andric#include <format>
74*5f757f3fSDimitry Andric#include <forward_list>
75*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
76*5f757f3fSDimitry Andric#  include <fstream>
77*5f757f3fSDimitry Andric#endif
78*5f757f3fSDimitry Andric#include <functional>
79*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS)
80*5f757f3fSDimitry Andric#  include <future>
81*5f757f3fSDimitry Andric#endif
82*5f757f3fSDimitry Andric#include <initializer_list>
83*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
84*5f757f3fSDimitry Andric#  include <iomanip>
85*5f757f3fSDimitry Andric#endif
86*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
87*5f757f3fSDimitry Andric#  include <ios>
88*5f757f3fSDimitry Andric#endif
89*5f757f3fSDimitry Andric#include <iosfwd>
90*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
91*5f757f3fSDimitry Andric#  include <iostream>
92*5f757f3fSDimitry Andric#endif
93*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
94*5f757f3fSDimitry Andric#  include <istream>
95*5f757f3fSDimitry Andric#endif
96*5f757f3fSDimitry Andric#include <iterator>
97*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS)
98*5f757f3fSDimitry Andric#  include <latch>
99*5f757f3fSDimitry Andric#endif
100*5f757f3fSDimitry Andric#include <limits>
101*5f757f3fSDimitry Andric#include <list>
102*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
103*5f757f3fSDimitry Andric#  include <locale>
104*5f757f3fSDimitry Andric#endif
105*5f757f3fSDimitry Andric#include <map>
106*5f757f3fSDimitry Andric#include <mdspan>
107*5f757f3fSDimitry Andric#include <memory>
108*5f757f3fSDimitry Andric#include <memory_resource>
109*5f757f3fSDimitry Andric#include <mutex>
110*5f757f3fSDimitry Andric#include <new>
111*5f757f3fSDimitry Andric#include <numbers>
112*5f757f3fSDimitry Andric#include <numeric>
113*5f757f3fSDimitry Andric#include <optional>
114*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
115*5f757f3fSDimitry Andric#  include <ostream>
116*5f757f3fSDimitry Andric#endif
117*5f757f3fSDimitry Andric#include <print>
118*5f757f3fSDimitry Andric#include <queue>
119*5f757f3fSDimitry Andric#include <random>
120*5f757f3fSDimitry Andric#include <ranges>
121*5f757f3fSDimitry Andric#include <ratio>
122*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
123*5f757f3fSDimitry Andric#  include <regex>
124*5f757f3fSDimitry Andric#endif
125*5f757f3fSDimitry Andric#include <scoped_allocator>
126*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS)
127*5f757f3fSDimitry Andric#  include <semaphore>
128*5f757f3fSDimitry Andric#endif
129*5f757f3fSDimitry Andric#include <set>
130*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS)
131*5f757f3fSDimitry Andric#  include <shared_mutex>
132*5f757f3fSDimitry Andric#endif
133*5f757f3fSDimitry Andric#include <source_location>
134*5f757f3fSDimitry Andric#include <span>
135*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
136*5f757f3fSDimitry Andric#  include <sstream>
137*5f757f3fSDimitry Andric#endif
138*5f757f3fSDimitry Andric#include <stack>
139*5f757f3fSDimitry Andric#include <stdexcept>
140*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS)
141*5f757f3fSDimitry Andric#  include <stop_token>
142*5f757f3fSDimitry Andric#endif
143*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
144*5f757f3fSDimitry Andric#  include <streambuf>
145*5f757f3fSDimitry Andric#endif
146*5f757f3fSDimitry Andric#include <string>
147*5f757f3fSDimitry Andric#include <string_view>
148*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
149*5f757f3fSDimitry Andric#  include <strstream>
150*5f757f3fSDimitry Andric#endif
151*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
152*5f757f3fSDimitry Andric#  include <syncstream>
153*5f757f3fSDimitry Andric#endif
154*5f757f3fSDimitry Andric#include <system_error>
155*5f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS)
156*5f757f3fSDimitry Andric#  include <thread>
157*5f757f3fSDimitry Andric#endif
158*5f757f3fSDimitry Andric#include <tuple>
159*5f757f3fSDimitry Andric#include <type_traits>
160*5f757f3fSDimitry Andric#include <typeindex>
161*5f757f3fSDimitry Andric#include <typeinfo>
162*5f757f3fSDimitry Andric#include <unordered_map>
163*5f757f3fSDimitry Andric#include <unordered_set>
164*5f757f3fSDimitry Andric#include <utility>
165*5f757f3fSDimitry Andric#include <valarray>
166*5f757f3fSDimitry Andric#include <variant>
167*5f757f3fSDimitry Andric#include <vector>
168*5f757f3fSDimitry Andric#include <version>
169*5f757f3fSDimitry Andric
170*5f757f3fSDimitry Andric// *** Headers not yet available ***
171*5f757f3fSDimitry Andric#if __has_include(<debugging>)
172*5f757f3fSDimitry Andric#  error "please update the header information for <debugging> in headers_not_available in utils/libcxx/header_information.py"
173*5f757f3fSDimitry Andric#endif // __has_include(<debugging>)
174*5f757f3fSDimitry Andric#if __has_include(<flat_map>)
175*5f757f3fSDimitry Andric#  error "please update the header information for <flat_map> in headers_not_available in utils/libcxx/header_information.py"
176*5f757f3fSDimitry Andric#endif // __has_include(<flat_map>)
177*5f757f3fSDimitry Andric#if __has_include(<flat_set>)
178*5f757f3fSDimitry Andric#  error "please update the header information for <flat_set> in headers_not_available in utils/libcxx/header_information.py"
179*5f757f3fSDimitry Andric#endif // __has_include(<flat_set>)
180*5f757f3fSDimitry Andric#if __has_include(<generator>)
181*5f757f3fSDimitry Andric#  error "please update the header information for <generator> in headers_not_available in utils/libcxx/header_information.py"
182*5f757f3fSDimitry Andric#endif // __has_include(<generator>)
183*5f757f3fSDimitry Andric#if __has_include(<hazard_pointer>)
184*5f757f3fSDimitry Andric#  error "please update the header information for <hazard_pointer> in headers_not_available in utils/libcxx/header_information.py"
185*5f757f3fSDimitry Andric#endif // __has_include(<hazard_pointer>)
186*5f757f3fSDimitry Andric#if __has_include(<linalg>)
187*5f757f3fSDimitry Andric#  error "please update the header information for <linalg> in headers_not_available in utils/libcxx/header_information.py"
188*5f757f3fSDimitry Andric#endif // __has_include(<linalg>)
189*5f757f3fSDimitry Andric#if __has_include(<rcu>)
190*5f757f3fSDimitry Andric#  error "please update the header information for <rcu> in headers_not_available in utils/libcxx/header_information.py"
191*5f757f3fSDimitry Andric#endif // __has_include(<rcu>)
192*5f757f3fSDimitry Andric#if __has_include(<spanstream>)
193*5f757f3fSDimitry Andric#  error "please update the header information for <spanstream> in headers_not_available in utils/libcxx/header_information.py"
194*5f757f3fSDimitry Andric#endif // __has_include(<spanstream>)
195*5f757f3fSDimitry Andric#if __has_include(<stacktrace>)
196*5f757f3fSDimitry Andric#  error "please update the header information for <stacktrace> in headers_not_available in utils/libcxx/header_information.py"
197*5f757f3fSDimitry Andric#endif // __has_include(<stacktrace>)
198*5f757f3fSDimitry Andric#if __has_include(<stdfloat>)
199*5f757f3fSDimitry Andric#  error "please update the header information for <stdfloat> in headers_not_available in utils/libcxx/header_information.py"
200*5f757f3fSDimitry Andric#endif // __has_include(<stdfloat>)
201*5f757f3fSDimitry Andric#if __has_include(<text_encoding>)
202*5f757f3fSDimitry Andric#  error "please update the header information for <text_encoding> in headers_not_available in utils/libcxx/header_information.py"
203*5f757f3fSDimitry Andric#endif // __has_include(<text_encoding>)
204*5f757f3fSDimitry Andric
205*5f757f3fSDimitry Andricexport module std;
206*5f757f3fSDimitry Andric
207*5f757f3fSDimitry Andric@LIBCXX_MODULE_STD_INCLUDE_SOURCES@
208