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 !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER) 24# include <atomic> 25#endif 26#if !defined(_LIBCPP_HAS_NO_THREADS) 27# include <barrier> 28#endif 29#include <bit> 30#include <bitset> 31#include <cassert> 32#include <cctype> 33#include <cerrno> 34#include <cfenv> 35#include <cfloat> 36#include <charconv> 37#include <chrono> 38#include <cinttypes> 39#include <climits> 40#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 41# include <clocale> 42#endif 43#include <cmath> 44#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 45# include <codecvt> 46#endif 47#include <compare> 48#include <complex> 49#include <concepts> 50#include <condition_variable> 51#include <coroutine> 52#include <csetjmp> 53#include <csignal> 54#include <cstdarg> 55#include <cstddef> 56#include <cstdint> 57#include <cstdio> 58#include <cstdlib> 59#include <cstring> 60#include <ctime> 61#include <cuchar> 62#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 63# include <cwchar> 64#endif 65#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 66# include <cwctype> 67#endif 68#include <deque> 69#include <exception> 70#include <execution> 71#include <expected> 72#include <filesystem> 73#include <format> 74#include <forward_list> 75#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 76# include <fstream> 77#endif 78#include <functional> 79#if !defined(_LIBCPP_HAS_NO_THREADS) 80# include <future> 81#endif 82#include <initializer_list> 83#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 84# include <iomanip> 85#endif 86#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 87# include <ios> 88#endif 89#include <iosfwd> 90#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 91# include <iostream> 92#endif 93#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 94# include <istream> 95#endif 96#include <iterator> 97#if !defined(_LIBCPP_HAS_NO_THREADS) 98# include <latch> 99#endif 100#include <limits> 101#include <list> 102#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 103# include <locale> 104#endif 105#include <map> 106#include <mdspan> 107#include <memory> 108#include <memory_resource> 109#include <mutex> 110#include <new> 111#include <numbers> 112#include <numeric> 113#include <optional> 114#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 115# include <ostream> 116#endif 117#include <print> 118#include <queue> 119#include <random> 120#include <ranges> 121#include <ratio> 122#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 123# include <regex> 124#endif 125#include <scoped_allocator> 126#if !defined(_LIBCPP_HAS_NO_THREADS) 127# include <semaphore> 128#endif 129#include <set> 130#if !defined(_LIBCPP_HAS_NO_THREADS) 131# include <shared_mutex> 132#endif 133#include <source_location> 134#include <span> 135#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 136# include <sstream> 137#endif 138#include <stack> 139#include <stdexcept> 140#if !defined(_LIBCPP_HAS_NO_THREADS) 141# include <stop_token> 142#endif 143#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 144# include <streambuf> 145#endif 146#include <string> 147#include <string_view> 148#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 149# include <strstream> 150#endif 151#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 152# include <syncstream> 153#endif 154#include <system_error> 155#if !defined(_LIBCPP_HAS_NO_THREADS) 156# include <thread> 157#endif 158#include <tuple> 159#include <type_traits> 160#include <typeindex> 161#include <typeinfo> 162#include <unordered_map> 163#include <unordered_set> 164#include <utility> 165#include <valarray> 166#include <variant> 167#include <vector> 168#include <version> 169 170// *** Headers not yet available *** 171// 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. 177// 178#ifndef _WIN32 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>) 215#endif // _WIN32 216 217export module std; 218 219 220@LIBCXX_MODULE_STD_INCLUDE_SOURCES@ 221