1*8a4dda33SDimitry Andric// -*- C++ -*- 2*8a4dda33SDimitry Andric//===----------------------------------------------------------------------===// 3*8a4dda33SDimitry Andric// 4*8a4dda33SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*8a4dda33SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 6*8a4dda33SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*8a4dda33SDimitry Andric// 8*8a4dda33SDimitry Andric//===----------------------------------------------------------------------===// 9*8a4dda33SDimitry Andric 10*8a4dda33SDimitry Andric// WARNING, this entire header is generated by 11*8a4dda33SDimitry Andric// utils/generate_std_clang_module_header.py 12*8a4dda33SDimitry Andric// DO NOT MODIFY! 13*8a4dda33SDimitry Andric 14*8a4dda33SDimitry Andric// This header should not be directly included, it's exclusively to import all 15*8a4dda33SDimitry Andric// of the libc++ public clang modules for the `std` clang module to export. In 16*8a4dda33SDimitry Andric// other words, it's to facilitate `@import std;` in Objective-C++ and `import std` 17*8a4dda33SDimitry Andric// in Swift to expose all of the libc++ interfaces. This is generally not 18*8a4dda33SDimitry Andric// recommended, however there are some clients that need to import all of libc++ 19*8a4dda33SDimitry Andric// without knowing what "all" is. 20*8a4dda33SDimitry Andric#if !__building_module(std) 21*8a4dda33SDimitry Andric# error "Do not include this header directly, include individual headers instead" 22*8a4dda33SDimitry Andric#endif 23*8a4dda33SDimitry Andric 24*8a4dda33SDimitry Andric#include <__config> 25*8a4dda33SDimitry Andric 26*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 27*8a4dda33SDimitry Andric# pragma GCC system_header 28*8a4dda33SDimitry Andric#endif 29*8a4dda33SDimitry Andric 30*8a4dda33SDimitry Andric#include <algorithm> 31*8a4dda33SDimitry Andric#include <any> 32*8a4dda33SDimitry Andric#include <array> 33*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER) 34*8a4dda33SDimitry Andric# include <atomic> 35*8a4dda33SDimitry Andric#endif 36*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS) 37*8a4dda33SDimitry Andric# include <barrier> 38*8a4dda33SDimitry Andric#endif 39*8a4dda33SDimitry Andric#include <bit> 40*8a4dda33SDimitry Andric#include <bitset> 41*8a4dda33SDimitry Andric#include <cassert> 42*8a4dda33SDimitry Andric#include <ccomplex> 43*8a4dda33SDimitry Andric#include <cctype> 44*8a4dda33SDimitry Andric#include <cerrno> 45*8a4dda33SDimitry Andric#include <cfenv> 46*8a4dda33SDimitry Andric#include <cfloat> 47*8a4dda33SDimitry Andric#include <charconv> 48*8a4dda33SDimitry Andric#include <chrono> 49*8a4dda33SDimitry Andric#include <cinttypes> 50*8a4dda33SDimitry Andric#include <ciso646> 51*8a4dda33SDimitry Andric#include <climits> 52*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 53*8a4dda33SDimitry Andric# include <clocale> 54*8a4dda33SDimitry Andric#endif 55*8a4dda33SDimitry Andric#include <cmath> 56*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 57*8a4dda33SDimitry Andric# include <codecvt> 58*8a4dda33SDimitry Andric#endif 59*8a4dda33SDimitry Andric#include <compare> 60*8a4dda33SDimitry Andric#include <complex.h> 61*8a4dda33SDimitry Andric#include <complex> 62*8a4dda33SDimitry Andric#include <concepts> 63*8a4dda33SDimitry Andric#include <condition_variable> 64*8a4dda33SDimitry Andric#include <coroutine> 65*8a4dda33SDimitry Andric#include <csetjmp> 66*8a4dda33SDimitry Andric#include <csignal> 67*8a4dda33SDimitry Andric#include <cstdarg> 68*8a4dda33SDimitry Andric#include <cstdbool> 69*8a4dda33SDimitry Andric#include <cstddef> 70*8a4dda33SDimitry Andric#include <cstdint> 71*8a4dda33SDimitry Andric#include <cstdio> 72*8a4dda33SDimitry Andric#include <cstdlib> 73*8a4dda33SDimitry Andric#include <cstring> 74*8a4dda33SDimitry Andric#include <ctgmath> 75*8a4dda33SDimitry Andric#include <ctime> 76*8a4dda33SDimitry Andric#include <ctype.h> 77*8a4dda33SDimitry Andric#include <cuchar> 78*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 79*8a4dda33SDimitry Andric# include <cwchar> 80*8a4dda33SDimitry Andric#endif 81*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 82*8a4dda33SDimitry Andric# include <cwctype> 83*8a4dda33SDimitry Andric#endif 84*8a4dda33SDimitry Andric#include <deque> 85*8a4dda33SDimitry Andric#include <errno.h> 86*8a4dda33SDimitry Andric#include <exception> 87*8a4dda33SDimitry Andric#include <execution> 88*8a4dda33SDimitry Andric#include <expected> 89*8a4dda33SDimitry Andric#include <experimental/deque> 90*8a4dda33SDimitry Andric#include <experimental/forward_list> 91*8a4dda33SDimitry Andric#include <experimental/iterator> 92*8a4dda33SDimitry Andric#include <experimental/list> 93*8a4dda33SDimitry Andric#include <experimental/map> 94*8a4dda33SDimitry Andric#include <experimental/memory_resource> 95*8a4dda33SDimitry Andric#include <experimental/propagate_const> 96*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 97*8a4dda33SDimitry Andric# include <experimental/regex> 98*8a4dda33SDimitry Andric#endif 99*8a4dda33SDimitry Andric#include <experimental/set> 100*8a4dda33SDimitry Andric#include <experimental/simd> 101*8a4dda33SDimitry Andric#include <experimental/string> 102*8a4dda33SDimitry Andric#include <experimental/type_traits> 103*8a4dda33SDimitry Andric#include <experimental/unordered_map> 104*8a4dda33SDimitry Andric#include <experimental/unordered_set> 105*8a4dda33SDimitry Andric#include <experimental/utility> 106*8a4dda33SDimitry Andric#include <experimental/vector> 107*8a4dda33SDimitry Andric#include <fenv.h> 108*8a4dda33SDimitry Andric#include <filesystem> 109*8a4dda33SDimitry Andric#include <float.h> 110*8a4dda33SDimitry Andric#include <format> 111*8a4dda33SDimitry Andric#include <forward_list> 112*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 113*8a4dda33SDimitry Andric# include <fstream> 114*8a4dda33SDimitry Andric#endif 115*8a4dda33SDimitry Andric#include <functional> 116*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS) 117*8a4dda33SDimitry Andric# include <future> 118*8a4dda33SDimitry Andric#endif 119*8a4dda33SDimitry Andric#include <initializer_list> 120*8a4dda33SDimitry Andric#include <inttypes.h> 121*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 122*8a4dda33SDimitry Andric# include <iomanip> 123*8a4dda33SDimitry Andric#endif 124*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 125*8a4dda33SDimitry Andric# include <ios> 126*8a4dda33SDimitry Andric#endif 127*8a4dda33SDimitry Andric#include <iosfwd> 128*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 129*8a4dda33SDimitry Andric# include <iostream> 130*8a4dda33SDimitry Andric#endif 131*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 132*8a4dda33SDimitry Andric# include <istream> 133*8a4dda33SDimitry Andric#endif 134*8a4dda33SDimitry Andric#include <iterator> 135*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS) 136*8a4dda33SDimitry Andric# include <latch> 137*8a4dda33SDimitry Andric#endif 138*8a4dda33SDimitry Andric#include <limits.h> 139*8a4dda33SDimitry Andric#include <limits> 140*8a4dda33SDimitry Andric#include <list> 141*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 142*8a4dda33SDimitry Andric# include <locale.h> 143*8a4dda33SDimitry Andric#endif 144*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 145*8a4dda33SDimitry Andric# include <locale> 146*8a4dda33SDimitry Andric#endif 147*8a4dda33SDimitry Andric#include <map> 148*8a4dda33SDimitry Andric#include <math.h> 149*8a4dda33SDimitry Andric#include <mdspan> 150*8a4dda33SDimitry Andric#include <memory> 151*8a4dda33SDimitry Andric#include <memory_resource> 152*8a4dda33SDimitry Andric#include <mutex> 153*8a4dda33SDimitry Andric#include <new> 154*8a4dda33SDimitry Andric#include <numbers> 155*8a4dda33SDimitry Andric#include <numeric> 156*8a4dda33SDimitry Andric#include <optional> 157*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 158*8a4dda33SDimitry Andric# include <ostream> 159*8a4dda33SDimitry Andric#endif 160*8a4dda33SDimitry Andric#include <print> 161*8a4dda33SDimitry Andric#include <queue> 162*8a4dda33SDimitry Andric#include <random> 163*8a4dda33SDimitry Andric#include <ranges> 164*8a4dda33SDimitry Andric#include <ratio> 165*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 166*8a4dda33SDimitry Andric# include <regex> 167*8a4dda33SDimitry Andric#endif 168*8a4dda33SDimitry Andric#include <scoped_allocator> 169*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS) 170*8a4dda33SDimitry Andric# include <semaphore> 171*8a4dda33SDimitry Andric#endif 172*8a4dda33SDimitry Andric#include <set> 173*8a4dda33SDimitry Andric#include <setjmp.h> 174*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS) 175*8a4dda33SDimitry Andric# include <shared_mutex> 176*8a4dda33SDimitry Andric#endif 177*8a4dda33SDimitry Andric#include <source_location> 178*8a4dda33SDimitry Andric#include <span> 179*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 180*8a4dda33SDimitry Andric# include <sstream> 181*8a4dda33SDimitry Andric#endif 182*8a4dda33SDimitry Andric#include <stack> 183*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER) 184*8a4dda33SDimitry Andric# include <stdatomic.h> 185*8a4dda33SDimitry Andric#endif 186*8a4dda33SDimitry Andric#include <stdbool.h> 187*8a4dda33SDimitry Andric#include <stddef.h> 188*8a4dda33SDimitry Andric#include <stdexcept> 189*8a4dda33SDimitry Andric#include <stdint.h> 190*8a4dda33SDimitry Andric#include <stdio.h> 191*8a4dda33SDimitry Andric#include <stdlib.h> 192*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS) 193*8a4dda33SDimitry Andric# include <stop_token> 194*8a4dda33SDimitry Andric#endif 195*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 196*8a4dda33SDimitry Andric# include <streambuf> 197*8a4dda33SDimitry Andric#endif 198*8a4dda33SDimitry Andric#include <string.h> 199*8a4dda33SDimitry Andric#include <string> 200*8a4dda33SDimitry Andric#include <string_view> 201*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 202*8a4dda33SDimitry Andric# include <strstream> 203*8a4dda33SDimitry Andric#endif 204*8a4dda33SDimitry Andric#include <system_error> 205*8a4dda33SDimitry Andric#include <tgmath.h> 206*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_THREADS) 207*8a4dda33SDimitry Andric# include <thread> 208*8a4dda33SDimitry Andric#endif 209*8a4dda33SDimitry Andric#include <tuple> 210*8a4dda33SDimitry Andric#include <type_traits> 211*8a4dda33SDimitry Andric#include <typeindex> 212*8a4dda33SDimitry Andric#include <typeinfo> 213*8a4dda33SDimitry Andric#include <uchar.h> 214*8a4dda33SDimitry Andric#include <unordered_map> 215*8a4dda33SDimitry Andric#include <unordered_set> 216*8a4dda33SDimitry Andric#include <utility> 217*8a4dda33SDimitry Andric#include <valarray> 218*8a4dda33SDimitry Andric#include <variant> 219*8a4dda33SDimitry Andric#include <vector> 220*8a4dda33SDimitry Andric#include <version> 221*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 222*8a4dda33SDimitry Andric# include <wchar.h> 223*8a4dda33SDimitry Andric#endif 224*8a4dda33SDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 225*8a4dda33SDimitry Andric# include <wctype.h> 226*8a4dda33SDimitry Andric#endif 227