xref: /freebsd/contrib/llvm-project/libcxx/modules/std.cppm.in (revision 1342eb5a832fa10e689a29faab3acb6054e4778c)
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 _LIBCPP_HAS_ATOMIC_HEADER
24#  include <atomic>
25#endif
26#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 the
129// corresponding .inc file is forgotten. However, the check based on __has_include
130// 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_include
132// into thinking that libc++ provides the header.
133//
134#ifndef _WIN32
135#  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 // _WIN32
166
167export module std;
168
169
170@LIBCXX_MODULE_STD_INCLUDE_SOURCES@
171