1set(files
2  __algorithm/adjacent_find.h
3  __algorithm/all_of.h
4  __algorithm/any_of.h
5  __algorithm/binary_search.h
6  __algorithm/clamp.h
7  __algorithm/comp.h
8  __algorithm/comp_ref_type.h
9  __algorithm/copy.h
10  __algorithm/copy_backward.h
11  __algorithm/copy_if.h
12  __algorithm/copy_n.h
13  __algorithm/count.h
14  __algorithm/count_if.h
15  __algorithm/equal.h
16  __algorithm/equal_range.h
17  __algorithm/fill.h
18  __algorithm/fill_n.h
19  __algorithm/find.h
20  __algorithm/find_end.h
21  __algorithm/find_first_of.h
22  __algorithm/find_if.h
23  __algorithm/find_if_not.h
24  __algorithm/for_each.h
25  __algorithm/for_each_n.h
26  __algorithm/generate.h
27  __algorithm/generate_n.h
28  __algorithm/half_positive.h
29  __algorithm/in_found_result.h
30  __algorithm/in_fun_result.h
31  __algorithm/in_in_out_result.h
32  __algorithm/in_in_result.h
33  __algorithm/in_out_out_result.h
34  __algorithm/in_out_result.h
35  __algorithm/includes.h
36  __algorithm/inplace_merge.h
37  __algorithm/is_heap.h
38  __algorithm/is_heap_until.h
39  __algorithm/is_partitioned.h
40  __algorithm/is_permutation.h
41  __algorithm/is_sorted.h
42  __algorithm/is_sorted_until.h
43  __algorithm/iter_swap.h
44  __algorithm/iterator_operations.h
45  __algorithm/lexicographical_compare.h
46  __algorithm/lower_bound.h
47  __algorithm/make_heap.h
48  __algorithm/make_projected.h
49  __algorithm/max.h
50  __algorithm/max_element.h
51  __algorithm/merge.h
52  __algorithm/min.h
53  __algorithm/min_element.h
54  __algorithm/min_max_result.h
55  __algorithm/minmax.h
56  __algorithm/minmax_element.h
57  __algorithm/mismatch.h
58  __algorithm/move.h
59  __algorithm/move_backward.h
60  __algorithm/next_permutation.h
61  __algorithm/none_of.h
62  __algorithm/nth_element.h
63  __algorithm/partial_sort.h
64  __algorithm/partial_sort_copy.h
65  __algorithm/partition.h
66  __algorithm/partition_copy.h
67  __algorithm/partition_point.h
68  __algorithm/pop_heap.h
69  __algorithm/prev_permutation.h
70  __algorithm/push_heap.h
71  __algorithm/ranges_adjacent_find.h
72  __algorithm/ranges_all_of.h
73  __algorithm/ranges_any_of.h
74  __algorithm/ranges_binary_search.h
75  __algorithm/ranges_copy.h
76  __algorithm/ranges_copy_backward.h
77  __algorithm/ranges_copy_if.h
78  __algorithm/ranges_copy_n.h
79  __algorithm/ranges_count.h
80  __algorithm/ranges_count_if.h
81  __algorithm/ranges_equal.h
82  __algorithm/ranges_equal_range.h
83  __algorithm/ranges_fill.h
84  __algorithm/ranges_fill_n.h
85  __algorithm/ranges_find.h
86  __algorithm/ranges_find_end.h
87  __algorithm/ranges_find_first_of.h
88  __algorithm/ranges_find_if.h
89  __algorithm/ranges_find_if_not.h
90  __algorithm/ranges_for_each.h
91  __algorithm/ranges_for_each_n.h
92  __algorithm/ranges_generate.h
93  __algorithm/ranges_generate_n.h
94  __algorithm/ranges_includes.h
95  __algorithm/ranges_inplace_merge.h
96  __algorithm/ranges_is_heap.h
97  __algorithm/ranges_is_heap_until.h
98  __algorithm/ranges_is_partitioned.h
99  __algorithm/ranges_is_sorted.h
100  __algorithm/ranges_is_sorted_until.h
101  __algorithm/ranges_iterator_concept.h
102  __algorithm/ranges_lexicographical_compare.h
103  __algorithm/ranges_lower_bound.h
104  __algorithm/ranges_make_heap.h
105  __algorithm/ranges_max.h
106  __algorithm/ranges_max_element.h
107  __algorithm/ranges_merge.h
108  __algorithm/ranges_min.h
109  __algorithm/ranges_min_element.h
110  __algorithm/ranges_minmax.h
111  __algorithm/ranges_minmax_element.h
112  __algorithm/ranges_mismatch.h
113  __algorithm/ranges_move.h
114  __algorithm/ranges_move_backward.h
115  __algorithm/ranges_none_of.h
116  __algorithm/ranges_nth_element.h
117  __algorithm/ranges_partial_sort.h
118  __algorithm/ranges_partial_sort_copy.h
119  __algorithm/ranges_partition.h
120  __algorithm/ranges_partition_copy.h
121  __algorithm/ranges_partition_point.h
122  __algorithm/ranges_pop_heap.h
123  __algorithm/ranges_push_heap.h
124  __algorithm/ranges_remove.h
125  __algorithm/ranges_remove_copy.h
126  __algorithm/ranges_remove_copy_if.h
127  __algorithm/ranges_remove_if.h
128  __algorithm/ranges_replace.h
129  __algorithm/ranges_replace_copy.h
130  __algorithm/ranges_replace_copy_if.h
131  __algorithm/ranges_replace_if.h
132  __algorithm/ranges_reverse.h
133  __algorithm/ranges_reverse_copy.h
134  __algorithm/ranges_rotate_copy.h
135  __algorithm/ranges_search.h
136  __algorithm/ranges_search_n.h
137  __algorithm/ranges_set_difference.h
138  __algorithm/ranges_set_intersection.h
139  __algorithm/ranges_set_symmetric_difference.h
140  __algorithm/ranges_set_union.h
141  __algorithm/ranges_shuffle.h
142  __algorithm/ranges_sort.h
143  __algorithm/ranges_sort_heap.h
144  __algorithm/ranges_stable_partition.h
145  __algorithm/ranges_stable_sort.h
146  __algorithm/ranges_swap_ranges.h
147  __algorithm/ranges_transform.h
148  __algorithm/ranges_unique.h
149  __algorithm/ranges_unique_copy.h
150  __algorithm/ranges_upper_bound.h
151  __algorithm/remove.h
152  __algorithm/remove_copy.h
153  __algorithm/remove_copy_if.h
154  __algorithm/remove_if.h
155  __algorithm/replace.h
156  __algorithm/replace_copy.h
157  __algorithm/replace_copy_if.h
158  __algorithm/replace_if.h
159  __algorithm/reverse.h
160  __algorithm/reverse_copy.h
161  __algorithm/rotate.h
162  __algorithm/rotate_copy.h
163  __algorithm/sample.h
164  __algorithm/search.h
165  __algorithm/search_n.h
166  __algorithm/set_difference.h
167  __algorithm/set_intersection.h
168  __algorithm/set_symmetric_difference.h
169  __algorithm/set_union.h
170  __algorithm/shift_left.h
171  __algorithm/shift_right.h
172  __algorithm/shuffle.h
173  __algorithm/sift_down.h
174  __algorithm/sort.h
175  __algorithm/sort_heap.h
176  __algorithm/stable_partition.h
177  __algorithm/stable_sort.h
178  __algorithm/swap_ranges.h
179  __algorithm/transform.h
180  __algorithm/unique.h
181  __algorithm/unique_copy.h
182  __algorithm/unwrap_iter.h
183  __algorithm/upper_bound.h
184  __assert
185  __availability
186  __bit/bit_cast.h
187  __bit/byteswap.h
188  __bit_reference
189  __bits
190  __bsd_locale_defaults.h
191  __bsd_locale_fallbacks.h
192  __charconv/chars_format.h
193  __charconv/from_chars_result.h
194  __charconv/tables.h
195  __charconv/to_chars_base_10.h
196  __charconv/to_chars_result.h
197  __chrono/calendar.h
198  __chrono/convert_to_timespec.h
199  __chrono/day.h
200  __chrono/duration.h
201  __chrono/file_clock.h
202  __chrono/hh_mm_ss.h
203  __chrono/high_resolution_clock.h
204  __chrono/literals.h
205  __chrono/month.h
206  __chrono/month_weekday.h
207  __chrono/monthday.h
208  __chrono/steady_clock.h
209  __chrono/system_clock.h
210  __chrono/time_point.h
211  __chrono/weekday.h
212  __chrono/year.h
213  __chrono/year_month.h
214  __chrono/year_month_day.h
215  __chrono/year_month_weekday.h
216  __compare/common_comparison_category.h
217  __compare/compare_partial_order_fallback.h
218  __compare/compare_strong_order_fallback.h
219  __compare/compare_three_way.h
220  __compare/compare_three_way_result.h
221  __compare/compare_weak_order_fallback.h
222  __compare/is_eq.h
223  __compare/ordering.h
224  __compare/partial_order.h
225  __compare/strong_order.h
226  __compare/synth_three_way.h
227  __compare/three_way_comparable.h
228  __compare/weak_order.h
229  __concepts/arithmetic.h
230  __concepts/assignable.h
231  __concepts/boolean_testable.h
232  __concepts/class_or_enum.h
233  __concepts/common_reference_with.h
234  __concepts/common_with.h
235  __concepts/constructible.h
236  __concepts/convertible_to.h
237  __concepts/copyable.h
238  __concepts/derived_from.h
239  __concepts/destructible.h
240  __concepts/different_from.h
241  __concepts/equality_comparable.h
242  __concepts/invocable.h
243  __concepts/movable.h
244  __concepts/predicate.h
245  __concepts/regular.h
246  __concepts/relation.h
247  __concepts/same_as.h
248  __concepts/semiregular.h
249  __concepts/swappable.h
250  __concepts/totally_ordered.h
251  __config
252  __coroutine/coroutine_handle.h
253  __coroutine/coroutine_traits.h
254  __coroutine/noop_coroutine_handle.h
255  __coroutine/trivial_awaitables.h
256  __debug
257  __debug_utils/randomize_range.h
258  __errc
259  __filesystem/copy_options.h
260  __filesystem/directory_entry.h
261  __filesystem/directory_iterator.h
262  __filesystem/directory_options.h
263  __filesystem/file_status.h
264  __filesystem/file_time_type.h
265  __filesystem/file_type.h
266  __filesystem/filesystem_error.h
267  __filesystem/operations.h
268  __filesystem/path.h
269  __filesystem/path_iterator.h
270  __filesystem/perm_options.h
271  __filesystem/perms.h
272  __filesystem/recursive_directory_iterator.h
273  __filesystem/space_info.h
274  __filesystem/u8path.h
275  __format/buffer.h
276  __format/concepts.h
277  __format/enable_insertable.h
278  __format/format_arg.h
279  __format/format_arg_store.h
280  __format/format_args.h
281  __format/format_context.h
282  __format/format_error.h
283  __format/format_fwd.h
284  __format/format_parse_context.h
285  __format/format_string.h
286  __format/format_to_n_result.h
287  __format/formatter.h
288  __format/formatter_bool.h
289  __format/formatter_char.h
290  __format/formatter_floating_point.h
291  __format/formatter_integer.h
292  __format/formatter_integral.h
293  __format/formatter_output.h
294  __format/formatter_pointer.h
295  __format/formatter_string.h
296  __format/parser_std_format_spec.h
297  __functional/binary_function.h
298  __functional/binary_negate.h
299  __functional/bind.h
300  __functional/bind_back.h
301  __functional/bind_front.h
302  __functional/binder1st.h
303  __functional/binder2nd.h
304  __functional/boyer_moore_searcher.h
305  __functional/compose.h
306  __functional/default_searcher.h
307  __functional/function.h
308  __functional/hash.h
309  __functional/identity.h
310  __functional/invoke.h
311  __functional/is_transparent.h
312  __functional/mem_fn.h
313  __functional/mem_fun_ref.h
314  __functional/not_fn.h
315  __functional/operations.h
316  __functional/perfect_forward.h
317  __functional/pointer_to_binary_function.h
318  __functional/pointer_to_unary_function.h
319  __functional/ranges_operations.h
320  __functional/reference_wrapper.h
321  __functional/unary_function.h
322  __functional/unary_negate.h
323  __functional/unwrap_ref.h
324  __functional/weak_result_type.h
325  __fwd/span.h
326  __fwd/string_view.h
327  __hash_table
328  __ios/fpos.h
329  __iterator/access.h
330  __iterator/advance.h
331  __iterator/back_insert_iterator.h
332  __iterator/bounded_iter.h
333  __iterator/common_iterator.h
334  __iterator/concepts.h
335  __iterator/counted_iterator.h
336  __iterator/data.h
337  __iterator/default_sentinel.h
338  __iterator/distance.h
339  __iterator/empty.h
340  __iterator/erase_if_container.h
341  __iterator/front_insert_iterator.h
342  __iterator/incrementable_traits.h
343  __iterator/indirectly_comparable.h
344  __iterator/insert_iterator.h
345  __iterator/istream_iterator.h
346  __iterator/istreambuf_iterator.h
347  __iterator/iter_move.h
348  __iterator/iter_swap.h
349  __iterator/iterator.h
350  __iterator/iterator_traits.h
351  __iterator/mergeable.h
352  __iterator/move_iterator.h
353  __iterator/move_sentinel.h
354  __iterator/next.h
355  __iterator/ostream_iterator.h
356  __iterator/ostreambuf_iterator.h
357  __iterator/permutable.h
358  __iterator/prev.h
359  __iterator/projected.h
360  __iterator/readable_traits.h
361  __iterator/reverse_access.h
362  __iterator/reverse_iterator.h
363  __iterator/size.h
364  __iterator/sortable.h
365  __iterator/unreachable_sentinel.h
366  __iterator/wrap_iter.h
367  __locale
368  __mbstate_t.h
369  __memory/addressof.h
370  __memory/allocate_at_least.h
371  __memory/allocation_guard.h
372  __memory/allocator.h
373  __memory/allocator_arg_t.h
374  __memory/allocator_traits.h
375  __memory/assume_aligned.h
376  __memory/auto_ptr.h
377  __memory/compressed_pair.h
378  __memory/concepts.h
379  __memory/construct_at.h
380  __memory/pointer_traits.h
381  __memory/ranges_construct_at.h
382  __memory/ranges_uninitialized_algorithms.h
383  __memory/raw_storage_iterator.h
384  __memory/shared_ptr.h
385  __memory/temporary_buffer.h
386  __memory/uninitialized_algorithms.h
387  __memory/unique_ptr.h
388  __memory/uses_allocator.h
389  __memory/voidify.h
390  __mutex_base
391  __node_handle
392  __numeric/accumulate.h
393  __numeric/adjacent_difference.h
394  __numeric/exclusive_scan.h
395  __numeric/gcd_lcm.h
396  __numeric/inclusive_scan.h
397  __numeric/inner_product.h
398  __numeric/iota.h
399  __numeric/midpoint.h
400  __numeric/partial_sum.h
401  __numeric/reduce.h
402  __numeric/transform_exclusive_scan.h
403  __numeric/transform_inclusive_scan.h
404  __numeric/transform_reduce.h
405  __random/bernoulli_distribution.h
406  __random/binomial_distribution.h
407  __random/cauchy_distribution.h
408  __random/chi_squared_distribution.h
409  __random/clamp_to_integral.h
410  __random/default_random_engine.h
411  __random/discard_block_engine.h
412  __random/discrete_distribution.h
413  __random/exponential_distribution.h
414  __random/extreme_value_distribution.h
415  __random/fisher_f_distribution.h
416  __random/gamma_distribution.h
417  __random/generate_canonical.h
418  __random/geometric_distribution.h
419  __random/independent_bits_engine.h
420  __random/is_seed_sequence.h
421  __random/is_valid.h
422  __random/knuth_b.h
423  __random/linear_congruential_engine.h
424  __random/log2.h
425  __random/lognormal_distribution.h
426  __random/mersenne_twister_engine.h
427  __random/negative_binomial_distribution.h
428  __random/normal_distribution.h
429  __random/piecewise_constant_distribution.h
430  __random/piecewise_linear_distribution.h
431  __random/poisson_distribution.h
432  __random/random_device.h
433  __random/ranlux.h
434  __random/seed_seq.h
435  __random/shuffle_order_engine.h
436  __random/student_t_distribution.h
437  __random/subtract_with_carry_engine.h
438  __random/uniform_int_distribution.h
439  __random/uniform_random_bit_generator.h
440  __random/uniform_real_distribution.h
441  __random/weibull_distribution.h
442  __ranges/access.h
443  __ranges/all.h
444  __ranges/common_view.h
445  __ranges/concepts.h
446  __ranges/copyable_box.h
447  __ranges/counted.h
448  __ranges/dangling.h
449  __ranges/data.h
450  __ranges/drop_view.h
451  __ranges/empty.h
452  __ranges/empty_view.h
453  __ranges/enable_borrowed_range.h
454  __ranges/enable_view.h
455  __ranges/filter_view.h
456  __ranges/iota_view.h
457  __ranges/join_view.h
458  __ranges/lazy_split_view.h
459  __ranges/non_propagating_cache.h
460  __ranges/owning_view.h
461  __ranges/range_adaptor.h
462  __ranges/rbegin.h
463  __ranges/ref_view.h
464  __ranges/rend.h
465  __ranges/reverse_view.h
466  __ranges/single_view.h
467  __ranges/size.h
468  __ranges/subrange.h
469  __ranges/take_view.h
470  __ranges/transform_view.h
471  __ranges/view_interface.h
472  __ranges/views.h
473  __ranges/zip_view.h
474  __split_buffer
475  __std_stream
476  __string/char_traits.h
477  __string/extern_template_lists.h
478  __support/android/locale_bionic.h
479  __support/fuchsia/xlocale.h
480  __support/ibm/gettod_zos.h
481  __support/ibm/locale_mgmt_zos.h
482  __support/ibm/nanosleep.h
483  __support/ibm/xlocale.h
484  __support/musl/xlocale.h
485  __support/newlib/xlocale.h
486  __support/openbsd/xlocale.h
487  __support/solaris/floatingpoint.h
488  __support/solaris/wchar.h
489  __support/solaris/xlocale.h
490  __support/win32/limits_msvc_win32.h
491  __support/win32/locale_win32.h
492  __support/xlocale/__nop_locale_mgmt.h
493  __support/xlocale/__posix_l_fallback.h
494  __support/xlocale/__strtonum_fallback.h
495  __thread/poll_with_backoff.h
496  __thread/timed_backoff_policy.h
497  __threading_support
498  __tree
499  __tuple
500  __type_traits/add_const.h
501  __type_traits/add_cv.h
502  __type_traits/add_lvalue_reference.h
503  __type_traits/add_pointer.h
504  __type_traits/add_rvalue_reference.h
505  __type_traits/add_volatile.h
506  __type_traits/alignment_of.h
507  __type_traits/apply_cv.h
508  __type_traits/conditional.h
509  __type_traits/conjunction.h
510  __type_traits/decay.h
511  __type_traits/disjunction.h
512  __type_traits/enable_if.h
513  __type_traits/extent.h
514  __type_traits/has_unique_object_representation.h
515  __type_traits/has_virtual_destructor.h
516  __type_traits/integral_constant.h
517  __type_traits/is_abstract.h
518  __type_traits/is_aggregate.h
519  __type_traits/is_arithmetic.h
520  __type_traits/is_array.h
521  __type_traits/is_assignable.h
522  __type_traits/is_base_of.h
523  __type_traits/is_bounded_array.h
524  __type_traits/is_callable.h
525  __type_traits/is_class.h
526  __type_traits/is_compound.h
527  __type_traits/is_const.h
528  __type_traits/is_constant_evaluated.h
529  __type_traits/is_constructible.h
530  __type_traits/is_convertible.h
531  __type_traits/is_copy_assignable.h
532  __type_traits/is_copy_constructible.h
533  __type_traits/is_core_convertible.h
534  __type_traits/is_default_constructible.h
535  __type_traits/is_destructible.h
536  __type_traits/is_empty.h
537  __type_traits/is_enum.h
538  __type_traits/is_final.h
539  __type_traits/is_floating_point.h
540  __type_traits/is_function.h
541  __type_traits/is_fundamental.h
542  __type_traits/is_integral.h
543  __type_traits/is_literal_type.h
544  __type_traits/is_member_function_pointer.h
545  __type_traits/is_member_object_pointer.h
546  __type_traits/is_member_pointer.h
547  __type_traits/is_move_assignable.h
548  __type_traits/is_move_constructible.h
549  __type_traits/is_nothrow_assignable.h
550  __type_traits/is_nothrow_constructible.h
551  __type_traits/is_nothrow_copy_assignable.h
552  __type_traits/is_nothrow_copy_constructible.h
553  __type_traits/is_nothrow_default_constructible.h
554  __type_traits/is_nothrow_destructible.h
555  __type_traits/is_nothrow_move_assignable.h
556  __type_traits/is_nothrow_move_constructible.h
557  __type_traits/is_null_pointer.h
558  __type_traits/is_object.h
559  __type_traits/is_pod.h
560  __type_traits/is_pointer.h
561  __type_traits/is_polymorphic.h
562  __type_traits/is_reference.h
563  __type_traits/is_reference_wrapper.h
564  __type_traits/is_referenceable.h
565  __type_traits/is_same.h
566  __type_traits/is_scalar.h
567  __type_traits/is_scoped_enum.h
568  __type_traits/is_signed.h
569  __type_traits/is_standard_layout.h
570  __type_traits/is_trivial.h
571  __type_traits/is_trivially_assignable.h
572  __type_traits/is_trivially_constructible.h
573  __type_traits/is_trivially_copy_assignable.h
574  __type_traits/is_trivially_copy_constructible.h
575  __type_traits/is_trivially_copyable.h
576  __type_traits/is_trivially_default_constructible.h
577  __type_traits/is_trivially_destructible.h
578  __type_traits/is_trivially_move_assignable.h
579  __type_traits/is_trivially_move_constructible.h
580  __type_traits/is_unbounded_array.h
581  __type_traits/is_union.h
582  __type_traits/is_unsigned.h
583  __type_traits/is_void.h
584  __type_traits/is_volatile.h
585  __type_traits/negation.h
586  __type_traits/rank.h
587  __type_traits/remove_all_extents.h
588  __type_traits/remove_const.h
589  __type_traits/remove_cv.h
590  __type_traits/remove_extent.h
591  __type_traits/remove_pointer.h
592  __type_traits/remove_reference.h
593  __type_traits/remove_volatile.h
594  __type_traits/type_identity.h
595  __type_traits/underlying_type.h
596  __type_traits/void_t.h
597  __undef_macros
598  __utility/as_const.h
599  __utility/auto_cast.h
600  __utility/cmp.h
601  __utility/declval.h
602  __utility/exchange.h
603  __utility/forward.h
604  __utility/in_place.h
605  __utility/integer_sequence.h
606  __utility/move.h
607  __utility/pair.h
608  __utility/piecewise_construct.h
609  __utility/priority_tag.h
610  __utility/rel_ops.h
611  __utility/swap.h
612  __utility/to_underlying.h
613  __utility/transaction.h
614  __utility/unreachable.h
615  __variant/monostate.h
616  algorithm
617  any
618  array
619  atomic
620  barrier
621  bit
622  bitset
623  cassert
624  ccomplex
625  cctype
626  cerrno
627  cfenv
628  cfloat
629  charconv
630  chrono
631  cinttypes
632  ciso646
633  climits
634  clocale
635  cmath
636  codecvt
637  compare
638  complex
639  complex.h
640  concepts
641  condition_variable
642  coroutine
643  csetjmp
644  csignal
645  cstdarg
646  cstdbool
647  cstddef
648  cstdint
649  cstdio
650  cstdlib
651  cstring
652  ctgmath
653  ctime
654  ctype.h
655  cuchar
656  cwchar
657  cwctype
658  deque
659  errno.h
660  exception
661  execution
662  experimental/__config
663  experimental/__memory
664  experimental/algorithm
665  experimental/coroutine
666  experimental/deque
667  experimental/forward_list
668  experimental/functional
669  experimental/iterator
670  experimental/list
671  experimental/map
672  experimental/memory_resource
673  experimental/propagate_const
674  experimental/regex
675  experimental/set
676  experimental/simd
677  experimental/string
678  experimental/type_traits
679  experimental/unordered_map
680  experimental/unordered_set
681  experimental/utility
682  experimental/vector
683  ext/__hash
684  ext/hash_map
685  ext/hash_set
686  fenv.h
687  filesystem
688  float.h
689  format
690  forward_list
691  fstream
692  functional
693  future
694  initializer_list
695  inttypes.h
696  iomanip
697  ios
698  iosfwd
699  iostream
700  istream
701  iterator
702  latch
703  limits
704  limits.h
705  list
706  locale
707  locale.h
708  map
709  math.h
710  memory
711  mutex
712  new
713  numbers
714  numeric
715  optional
716  ostream
717  queue
718  random
719  ranges
720  ratio
721  regex
722  scoped_allocator
723  semaphore
724  set
725  setjmp.h
726  shared_mutex
727  span
728  sstream
729  stack
730  stdatomic.h
731  stdbool.h
732  stddef.h
733  stdexcept
734  stdint.h
735  stdio.h
736  stdlib.h
737  streambuf
738  string
739  string.h
740  string_view
741  strstream
742  system_error
743  tgmath.h
744  thread
745  tuple
746  type_traits
747  typeindex
748  typeinfo
749  uchar.h
750  unordered_map
751  unordered_set
752  utility
753  valarray
754  variant
755  vector
756  version
757  wchar.h
758  wctype.h
759  )
760
761foreach(feature LIBCXX_ENABLE_FILESYSTEM LIBCXX_ENABLE_LOCALIZATION LIBCXX_ENABLE_THREADS LIBCXX_ENABLE_WIDE_CHARACTERS)
762  if (NOT ${${feature}})
763    set(requires_${feature} "requires LIBCXX_CONFIGURED_WITHOUT_SUPPORT_FOR_THIS_HEADER")
764  endif()
765endforeach()
766
767configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)
768configure_file("module.modulemap.in" "${LIBCXX_GENERATED_INCLUDE_DIR}/module.modulemap" @ONLY)
769
770set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
771                  "${LIBCXX_GENERATED_INCLUDE_DIR}/module.modulemap")
772foreach(f ${files})
773  set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
774  set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}")
775  add_custom_command(OUTPUT ${dst}
776    DEPENDS ${src}
777    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
778    COMMENT "Copying CXX header ${f}")
779  list(APPEND _all_includes "${dst}")
780endforeach()
781
782add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})
783
784add_library(cxx-headers INTERFACE)
785target_link_libraries(cxx-headers INTERFACE libcxx-abi-headers)
786add_dependencies(cxx-headers generate-cxx-headers)
787target_include_directories(cxx-headers INTERFACE ${LIBCXX_GENERATED_INCLUDE_DIR}
788                                                 ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
789
790if (LIBCXX_INSTALL_HEADERS)
791  foreach(file ${files})
792    get_filename_component(dir ${file} DIRECTORY)
793    install(FILES ${file}
794      DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}"
795      COMPONENT cxx-headers
796      PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
797    )
798  endforeach()
799
800  # Install the generated __config_site and the generated modulemap file.
801  install(FILES "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
802                "${LIBCXX_GENERATED_INCLUDE_DIR}/module.modulemap"
803    DESTINATION "${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}"
804    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
805    COMPONENT cxx-headers)
806
807  if (NOT CMAKE_CONFIGURATION_TYPES)
808    add_custom_target(install-cxx-headers
809                      DEPENDS cxx-headers
810                      COMMAND "${CMAKE_COMMAND}"
811                              -DCMAKE_INSTALL_COMPONENT=cxx-headers
812                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
813    # Stripping is a no-op for headers
814    add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
815  endif()
816endif()
817