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(<linalg>) 195# error "please update the header information for <linalg> in headers_not_available in utils/libcxx/header_information.py" 196# endif // __has_include(<linalg>) 197# if __has_include(<rcu>) 198# error "please update the header information for <rcu> in headers_not_available in utils/libcxx/header_information.py" 199# endif // __has_include(<rcu>) 200# if __has_include(<spanstream>) 201# error "please update the header information for <spanstream> in headers_not_available in utils/libcxx/header_information.py" 202# endif // __has_include(<spanstream>) 203# if __has_include(<stacktrace>) 204# error "please update the header information for <stacktrace> in headers_not_available in utils/libcxx/header_information.py" 205# endif // __has_include(<stacktrace>) 206# if __has_include(<stdfloat>) 207# error "please update the header information for <stdfloat> in headers_not_available in utils/libcxx/header_information.py" 208# endif // __has_include(<stdfloat>) 209# if __has_include(<text_encoding>) 210# error "please update the header information for <text_encoding> in headers_not_available in utils/libcxx/header_information.py" 211# endif // __has_include(<text_encoding>) 212#endif // _WIN32 213 214export module std; 215 216 217#include "std/algorithm.inc" 218#include "std/any.inc" 219#include "std/array.inc" 220#include "std/atomic.inc" 221#include "std/barrier.inc" 222#include "std/bit.inc" 223#include "std/bitset.inc" 224#include "std/cassert.inc" 225#include "std/cctype.inc" 226#include "std/cerrno.inc" 227#include "std/cfenv.inc" 228#include "std/cfloat.inc" 229#include "std/charconv.inc" 230#include "std/chrono.inc" 231#include "std/cinttypes.inc" 232#include "std/climits.inc" 233#include "std/clocale.inc" 234#include "std/cmath.inc" 235#include "std/codecvt.inc" 236#include "std/compare.inc" 237#include "std/complex.inc" 238#include "std/concepts.inc" 239#include "std/condition_variable.inc" 240#include "std/coroutine.inc" 241#include "std/csetjmp.inc" 242#include "std/csignal.inc" 243#include "std/cstdarg.inc" 244#include "std/cstddef.inc" 245#include "std/cstdint.inc" 246#include "std/cstdio.inc" 247#include "std/cstdlib.inc" 248#include "std/cstring.inc" 249#include "std/ctime.inc" 250#include "std/cuchar.inc" 251#include "std/cwchar.inc" 252#include "std/cwctype.inc" 253#include "std/deque.inc" 254#include "std/exception.inc" 255#include "std/execution.inc" 256#include "std/expected.inc" 257#include "std/filesystem.inc" 258#include "std/flat_map.inc" 259#include "std/flat_set.inc" 260#include "std/format.inc" 261#include "std/forward_list.inc" 262#include "std/fstream.inc" 263#include "std/functional.inc" 264#include "std/future.inc" 265#include "std/generator.inc" 266#include "std/hazard_pointer.inc" 267#include "std/initializer_list.inc" 268#include "std/iomanip.inc" 269#include "std/ios.inc" 270#include "std/iosfwd.inc" 271#include "std/iostream.inc" 272#include "std/istream.inc" 273#include "std/iterator.inc" 274#include "std/latch.inc" 275#include "std/limits.inc" 276#include "std/list.inc" 277#include "std/locale.inc" 278#include "std/map.inc" 279#include "std/mdspan.inc" 280#include "std/memory.inc" 281#include "std/memory_resource.inc" 282#include "std/mutex.inc" 283#include "std/new.inc" 284#include "std/numbers.inc" 285#include "std/numeric.inc" 286#include "std/optional.inc" 287#include "std/ostream.inc" 288#include "std/print.inc" 289#include "std/queue.inc" 290#include "std/random.inc" 291#include "std/ranges.inc" 292#include "std/ratio.inc" 293#include "std/rcu.inc" 294#include "std/regex.inc" 295#include "std/scoped_allocator.inc" 296#include "std/semaphore.inc" 297#include "std/set.inc" 298#include "std/shared_mutex.inc" 299#include "std/source_location.inc" 300#include "std/span.inc" 301#include "std/spanstream.inc" 302#include "std/sstream.inc" 303#include "std/stack.inc" 304#include "std/stacktrace.inc" 305#include "std/stdexcept.inc" 306#include "std/stdfloat.inc" 307#include "std/stop_token.inc" 308#include "std/streambuf.inc" 309#include "std/string.inc" 310#include "std/string_view.inc" 311#include "std/strstream.inc" 312#include "std/syncstream.inc" 313#include "std/system_error.inc" 314#include "std/text_encoding.inc" 315#include "std/thread.inc" 316#include "std/tuple.inc" 317#include "std/type_traits.inc" 318#include "std/typeindex.inc" 319#include "std/typeinfo.inc" 320#include "std/unordered_map.inc" 321#include "std/unordered_set.inc" 322#include "std/utility.inc" 323#include "std/valarray.inc" 324#include "std/variant.inc" 325#include "std/vector.inc" 326#include "std/version.inc" 327 328