1  // All the headers!
       2  
       3  // C++ 17 and below
       4  #if 1
       5  #include <algorithm>
       6  #include <any>
       7  #include <array>
       8  #include <atomic>
       9  #include <bitset>
      10  #include <charconv>
      11  #include <chrono>
      12  #include <complex>
      13  #include <condition_variable>
      14  #include <cctype>
      15  #include <cuchar>
      16  #include <cwchar>
      17  #include <cwctype>
      18  #include <deque>
      19  #include <exception>
      20  #include <execution>
      21  #include <filesystem>
      22  #include <forward_list>
      23  #include <fstream>
      24  #include <functional>
      25  #include <future>
      26  #include <initializer_list>
      27  #include <iomanip>
      28  #include <ios>
      29  #include <iosfwd>
      30  #include <istream>
      31  #include <iterator>
      32  #include <limits>
      33  #include <list>
      34  #include <locale>
      35  #include <map>
      36  #include <memory>
      37  #include <memory_resource>
      38  #include <mutex>
      39  #include <new>
      40  #include <numeric>
      41  #include <optional>
      42  #include <ostream>
      43  #include <queue>
      44  #include <random>
      45  #include <ratio>
      46  #include <regex>
      47  #include <scoped_allocator>
      48  #include <set>
      49  #include <shared_mutex>
      50  #include <sstream>
      51  #include <stack>
      52  #include <stdexcept>
      53  #include <streambuf>
      54  #include <string>
      55  #include <string_view>
      56  #include <system_error>
      57  #include <thread>
      58  #include <tuple>
      59  #include <type_traits>
      60  #include <typeindex>
      61  #include <typeinfo>
      62  #include <unordered_map>
      63  #include <unordered_set>
      64  #include <utility>
      65  #include <valarray>
      66  #include <variant>
      67  #include <vector>
      68  #endif
      69  
      70  // C compatibility
      71  #if 1
      72  #include <cassert>
      73  #include <cerrno>
      74  #include <cfenv>
      75  #include <cfloat>
      76  #include <cinttypes>
      77  #include <climits>
      78  #include <clocale>
      79  #include <cmath>
      80  #include <csetjmp>
      81  #include <cstdarg>
      82  #include <cstddef>
      83  #include <cstdint>
      84  #include <cstdio>
      85  #include <cstdlib>
      86  #include <cstring>
      87  #include <ctime>
      88  #endif
      89  
      90  // C++20
      91  #if __cplusplus > 201703
      92  #if 1
      93  #include <version>
      94  #include <barrier>
      95  #include <bit>
      96  #include <compare>
      97  #include <concepts>
      98  #if __cpp_coroutines
      99  #include <coroutine>
     100  #endif
     101  #include <latch>
     102  #include <numbers>
     103  #include <ranges>
     104  #include <semaphore>
     105  #include <source_location>
     106  #include <span>
     107  #include <stop_token>
     108  #include <syncstream>
     109  #if 0
     110  // Unimplemented
     111  #include <format>
     112  #endif
     113  #endif
     114  #endif
     115  
     116  // C++23
     117  #if __cplusplus > 202002L
     118  #include <expected>
     119  #include <spanstream>
     120  #include <stacktrace>
     121  #if 0
     122  // Unimplemented
     123  #include <flat_map>
     124  #include <flat_set>
     125  #include <generator>
     126  #include <mdspan>
     127  #include <print>
     128  #endif
     129  #endif