171 lines · plain
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-exception7//8//===----------------------------------------------------------------------===//9 10// WARNING, this entire header is generated by11// utils/generate_libcxx_cppm_in.py12// 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_HEADER24# include <atomic>25#endif26#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 the129// corresponding .inc file is forgotten. However, the check based on __has_include130// 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_include132// into thinking that libc++ provides the header.133//134#ifndef _WIN32135# 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 // _WIN32166 167export module std;168 169 170@LIBCXX_MODULE_STD_INCLUDE_SOURCES@171