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