2 //===----------------------------------------------------------------------===//
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
8 //===----------------------------------------------------------------------===//
10 // WARNING, this entire header is generated by
11 // utils/generate_libcxx_cppm_in.py
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]
23 #if _LIBCPP_HAS_ATOMIC_HEADER
38 #if _LIBCPP_HAS_LOCALIZATION
42 #if _LIBCPP_HAS_LOCALIZATION
48 #include <condition_variable>
69 #include <forward_list>
70 #if _LIBCPP_HAS_LOCALIZATION
75 #include <initializer_list>
76 #if _LIBCPP_HAS_LOCALIZATION
79 #if _LIBCPP_HAS_LOCALIZATION
83 #if _LIBCPP_HAS_LOCALIZATION
86 #if _LIBCPP_HAS_LOCALIZATION
93 #if _LIBCPP_HAS_LOCALIZATION
99 #include <memory_resource>
105 #if _LIBCPP_HAS_LOCALIZATION
113 #if _LIBCPP_HAS_LOCALIZATION
116 #include <scoped_allocator>
119 #include <shared_mutex>
120 #include <source_location>
122 #if _LIBCPP_HAS_LOCALIZATION
127 #include <stop_token>
128 #if _LIBCPP_HAS_LOCALIZATION
129 # include <streambuf>
132 #include <string_view>
133 #if _LIBCPP_HAS_LOCALIZATION
134 # include <strstream>
136 #if _LIBCPP_HAS_LOCALIZATION
137 # include <syncstream>
139 #include <system_error>
142 #include <type_traits>
145 #include <unordered_map>
146 #include <unordered_set>
153 // *** Headers not yet available ***
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.
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>)
200 @LIBCXX_MODULE_STD_INCLUDE_SOURCES@