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