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#include <clocale> 39#include <cmath> 40#include <codecvt> 41#include <compare> 42#include <complex> 43#include <concepts> 44#include <condition_variable> 45#include <coroutine> 46#include <csetjmp> 47#include <csignal> 48#include <cstdarg> 49#include <cstddef> 50#include <cstdint> 51#include <cstdio> 52#include <cstdlib> 53#include <cstring> 54#include <ctime> 55#include <cuchar> 56#include <cwchar> 57#include <cwctype> 58#include <deque> 59#include <exception> 60#include <execution> 61#include <expected> 62#include <filesystem> 63#include <flat_map> 64#include <flat_set> 65#include <format> 66#include <forward_list> 67#include <fstream> 68#include <functional> 69#include <future> 70#include <initializer_list> 71#include <iomanip> 72#include <ios> 73#include <iosfwd> 74#include <iostream> 75#include <istream> 76#include <iterator> 77#include <latch> 78#include <limits> 79#include <list> 80#include <locale> 81#include <map> 82#include <mdspan> 83#include <memory> 84#include <memory_resource> 85#include <mutex> 86#include <new> 87#include <numbers> 88#include <numeric> 89#include <optional> 90#include <ostream> 91#include <print> 92#include <queue> 93#include <random> 94#include <ranges> 95#include <ratio> 96#include <regex> 97#include <scoped_allocator> 98#include <semaphore> 99#include <set> 100#include <shared_mutex> 101#include <source_location> 102#include <span> 103#include <sstream> 104#include <stack> 105#include <stdexcept> 106#include <stop_token> 107#include <streambuf> 108#include <string> 109#include <string_view> 110#include <strstream> 111#include <syncstream> 112#include <system_error> 113#include <thread> 114#include <tuple> 115#include <type_traits> 116#include <typeindex> 117#include <typeinfo> 118#include <unordered_map> 119#include <unordered_set> 120#include <utility> 121#include <valarray> 122#include <variant> 123#include <vector> 124#include <version> 125 126// *** Headers not yet available *** 127// 128// This validation is mainly to catch when a new header is added but adding the 129// corresponding .inc file is forgotten. However, the check based on __has_include 130// alone doesn't work on Windows because the Windows SDK is on the include path, 131// and that means the MSVC STL headers can be found as well, tricking __has_include 132// into thinking that libc++ provides the header. 133// 134#ifndef _WIN32 135# if __has_include(<debugging>) 136# error "please update the header information for <debugging> in headers_not_available in utils/libcxx/header_information.py" 137# endif // __has_include(<debugging>) 138# if __has_include(<generator>) 139# error "please update the header information for <generator> in headers_not_available in utils/libcxx/header_information.py" 140# endif // __has_include(<generator>) 141# if __has_include(<hazard_pointer>) 142# error "please update the header information for <hazard_pointer> in headers_not_available in utils/libcxx/header_information.py" 143# endif // __has_include(<hazard_pointer>) 144# if __has_include(<inplace_vector>) 145# error "please update the header information for <inplace_vector> in headers_not_available in utils/libcxx/header_information.py" 146# endif // __has_include(<inplace_vector>) 147# if __has_include(<linalg>) 148# error "please update the header information for <linalg> in headers_not_available in utils/libcxx/header_information.py" 149# endif // __has_include(<linalg>) 150# if __has_include(<rcu>) 151# error "please update the header information for <rcu> in headers_not_available in utils/libcxx/header_information.py" 152# endif // __has_include(<rcu>) 153# if __has_include(<spanstream>) 154# error "please update the header information for <spanstream> in headers_not_available in utils/libcxx/header_information.py" 155# endif // __has_include(<spanstream>) 156# if __has_include(<stacktrace>) 157# error "please update the header information for <stacktrace> in headers_not_available in utils/libcxx/header_information.py" 158# endif // __has_include(<stacktrace>) 159# if __has_include(<stdfloat>) 160# error "please update the header information for <stdfloat> in headers_not_available in utils/libcxx/header_information.py" 161# endif // __has_include(<stdfloat>) 162# if __has_include(<text_encoding>) 163# error "please update the header information for <text_encoding> in headers_not_available in utils/libcxx/header_information.py" 164# endif // __has_include(<text_encoding>) 165#endif // _WIN32 166 167export module std; 168 169 170@LIBCXX_MODULE_STD_INCLUDE_SOURCES@ 171