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 !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
26 #if !defined(_LIBCPP_HAS_NO_THREADS)
40 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
44 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
50 #include <condition_variable>
62 #if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)
65 #if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)
74 #include <forward_list>
75 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
79 #if !defined(_LIBCPP_HAS_NO_THREADS)
82 #include <initializer_list>
83 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
86 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
90 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
93 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
97 #if !defined(_LIBCPP_HAS_NO_THREADS)
102 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
108 #include <memory_resource>
114 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
122 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
125 #include <scoped_allocator>
126 #if !defined(_LIBCPP_HAS_NO_THREADS)
127 # include <semaphore>
130 #if !defined(_LIBCPP_HAS_NO_THREADS)
131 # include <shared_mutex>
133 #include <source_location>
135 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
140 #if !defined(_LIBCPP_HAS_NO_THREADS)
141 # include <stop_token>
143 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
144 # include <streambuf>
147 #include <string_view>
148 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
149 # include <strstream>
151 #if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
152 # include <syncstream>
154 #include <system_error>
155 #if !defined(_LIBCPP_HAS_NO_THREADS)
159 #include <type_traits>
162 #include <unordered_map>
163 #include <unordered_set>
170 // *** Headers not yet available ***
172 // This validation is mainly to catch when a new header is added but adding the
173 // corresponding .inc file is forgotten. However, the check based on __has_include
174 // alone doesn't work on Windows because the Windows SDK is on the include path,
175 // and that means the MSVC STL headers can be found as well, tricking __has_include
176 // into thinking that libc++ provides the header.
179 # if __has_include(<debugging>)
180 # error "please update the header information for <debugging> in headers_not_available in utils/libcxx/header_information.py"
181 # endif // __has_include(<debugging>)
182 # if __has_include(<flat_map>)
183 # error "please update the header information for <flat_map> in headers_not_available in utils/libcxx/header_information.py"
184 # endif // __has_include(<flat_map>)
185 # if __has_include(<flat_set>)
186 # error "please update the header information for <flat_set> in headers_not_available in utils/libcxx/header_information.py"
187 # endif // __has_include(<flat_set>)
188 # if __has_include(<generator>)
189 # error "please update the header information for <generator> in headers_not_available in utils/libcxx/header_information.py"
190 # endif // __has_include(<generator>)
191 # if __has_include(<hazard_pointer>)
192 # error "please update the header information for <hazard_pointer> in headers_not_available in utils/libcxx/header_information.py"
193 # endif // __has_include(<hazard_pointer>)
194 # if __has_include(<inplace_vector>)
195 # error "please update the header information for <inplace_vector> in headers_not_available in utils/libcxx/header_information.py"
196 # endif // __has_include(<inplace_vector>)
197 # if __has_include(<linalg>)
198 # error "please update the header information for <linalg> in headers_not_available in utils/libcxx/header_information.py"
199 # endif // __has_include(<linalg>)
200 # if __has_include(<rcu>)
201 # error "please update the header information for <rcu> in headers_not_available in utils/libcxx/header_information.py"
202 # endif // __has_include(<rcu>)
203 # if __has_include(<spanstream>)
204 # error "please update the header information for <spanstream> in headers_not_available in utils/libcxx/header_information.py"
205 # endif // __has_include(<spanstream>)
206 # if __has_include(<stacktrace>)
207 # error "please update the header information for <stacktrace> in headers_not_available in utils/libcxx/header_information.py"
208 # endif // __has_include(<stacktrace>)
209 # if __has_include(<stdfloat>)
210 # error "please update the header information for <stdfloat> in headers_not_available in utils/libcxx/header_information.py"
211 # endif // __has_include(<stdfloat>)
212 # if __has_include(<text_encoding>)
213 # error "please update the header information for <text_encoding> in headers_not_available in utils/libcxx/header_information.py"
214 # endif // __has_include(<text_encoding>)
220 @LIBCXX_MODULE_STD_INCLUDE_SOURCES@