2016-12-08 14:37:41 +08:00
|
|
|
// define the module for __config outside of the top level 'std' module
|
|
|
|
// since __config may be included from C headers which may create an
|
|
|
|
// include cycle.
|
|
|
|
module std_config [system] [extern_c] {
|
2022-02-11 04:06:50 +08:00
|
|
|
header "__config"
|
|
|
|
header "__config_site"
|
|
|
|
export *
|
2016-12-08 14:37:41 +08:00
|
|
|
}
|
|
|
|
|
2014-05-21 08:33:49 +08:00
|
|
|
module std [system] {
|
2016-12-08 14:37:41 +08:00
|
|
|
export std_config
|
2014-05-21 08:33:49 +08:00
|
|
|
// FIXME: The standard does not require that each of these submodules
|
|
|
|
// re-exports its imported modules. We should provide an alternative form of
|
|
|
|
// export that issues a warning if a name from the submodule is used, and
|
|
|
|
// use that to provide a 'strict mode' for libc++.
|
2016-10-21 11:14:27 +08:00
|
|
|
|
|
|
|
// Deprecated C-compatibility headers. These can all be included from within
|
|
|
|
// an 'extern "C"' context.
|
|
|
|
module depr [extern_c] {
|
|
|
|
// <assert.h> provided by C library.
|
|
|
|
module ctype_h {
|
|
|
|
header "ctype.h"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module errno_h {
|
|
|
|
header "errno.h"
|
|
|
|
export *
|
|
|
|
}
|
2019-02-12 07:47:19 +08:00
|
|
|
module fenv_h {
|
|
|
|
header "fenv.h"
|
|
|
|
export *
|
|
|
|
}
|
2016-10-21 11:14:27 +08:00
|
|
|
// <float.h> provided by compiler or C library.
|
|
|
|
module inttypes_h {
|
|
|
|
header "inttypes.h"
|
|
|
|
export stdint_h
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
// <iso646.h> provided by compiler.
|
|
|
|
// <limits.h> provided by compiler or C library.
|
2016-11-19 09:14:15 +08:00
|
|
|
module locale_h {
|
|
|
|
header "locale.h"
|
|
|
|
export *
|
|
|
|
}
|
2016-10-21 11:14:27 +08:00
|
|
|
module math_h {
|
|
|
|
header "math.h"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module setjmp_h {
|
|
|
|
header "setjmp.h"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
// FIXME: <stdalign.h> is missing.
|
|
|
|
// <signal.h> provided by C library.
|
|
|
|
// <stdarg.h> provided by compiler.
|
2016-12-06 17:48:32 +08:00
|
|
|
// <stdbool.h> provided by compiler.
|
2016-10-21 11:14:27 +08:00
|
|
|
module stddef_h {
|
|
|
|
// <stddef.h>'s __need_* macros require textual inclusion.
|
|
|
|
textual header "stddef.h"
|
|
|
|
}
|
2016-11-23 04:05:19 +08:00
|
|
|
module stdint_h {
|
|
|
|
header "stdint.h"
|
|
|
|
export *
|
|
|
|
// FIXME: This module only exists on OS X and for some reason the
|
|
|
|
// wildcard above doesn't export it.
|
|
|
|
export Darwin.C.stdint
|
|
|
|
}
|
2016-10-21 11:14:27 +08:00
|
|
|
module stdio_h {
|
|
|
|
// <stdio.h>'s __need_* macros require textual inclusion.
|
|
|
|
textual header "stdio.h"
|
|
|
|
export *
|
2016-12-06 15:40:46 +08:00
|
|
|
export Darwin.C.stdio
|
2016-10-21 11:14:27 +08:00
|
|
|
}
|
|
|
|
module stdlib_h {
|
|
|
|
// <stdlib.h>'s __need_* macros require textual inclusion.
|
|
|
|
textual header "stdlib.h"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module string_h {
|
|
|
|
header "string.h"
|
|
|
|
export *
|
|
|
|
}
|
2022-02-04 04:42:40 +08:00
|
|
|
module uchar_h {
|
|
|
|
header "uchar.h"
|
|
|
|
export *
|
|
|
|
}
|
2016-10-21 11:14:27 +08:00
|
|
|
// <time.h> provided by C library.
|
|
|
|
module wchar_h {
|
|
|
|
// <wchar.h>'s __need_* macros require textual inclusion.
|
|
|
|
textual header "wchar.h"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module wctype_h {
|
|
|
|
header "wctype.h"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// <complex.h> and <tgmath.h> are not C headers in any real sense, do not
|
|
|
|
// allow their use in extern "C" contexts.
|
|
|
|
module complex_h {
|
|
|
|
header "complex.h"
|
|
|
|
export ccomplex
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module tgmath_h {
|
|
|
|
header "tgmath.h"
|
|
|
|
export ccomplex
|
|
|
|
export cmath
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
|
|
|
|
// C compatibility headers.
|
|
|
|
module compat {
|
|
|
|
module cassert {
|
|
|
|
// <cassert>'s use of NDEBUG requires textual inclusion.
|
|
|
|
textual header "cassert"
|
|
|
|
}
|
|
|
|
module ccomplex {
|
|
|
|
header "ccomplex"
|
|
|
|
export complex
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cctype {
|
|
|
|
header "cctype"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cerrno {
|
|
|
|
header "cerrno"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cfenv {
|
|
|
|
header "cfenv"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cfloat {
|
|
|
|
header "cfloat"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cinttypes {
|
|
|
|
header "cinttypes"
|
|
|
|
export cstdint
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module ciso646 {
|
|
|
|
header "ciso646"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module climits {
|
|
|
|
header "climits"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module clocale {
|
|
|
|
header "clocale"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cmath {
|
|
|
|
header "cmath"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module csetjmp {
|
|
|
|
header "csetjmp"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module csignal {
|
|
|
|
header "csignal"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
// FIXME: <cstdalign> is missing.
|
|
|
|
module cstdarg {
|
|
|
|
header "cstdarg"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cstdbool {
|
|
|
|
header "cstdbool"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cstddef {
|
|
|
|
header "cstddef"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cstdint {
|
|
|
|
header "cstdint"
|
2016-11-23 04:05:19 +08:00
|
|
|
export depr.stdint_h
|
2016-10-21 11:14:27 +08:00
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cstdio {
|
|
|
|
header "cstdio"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cstdlib {
|
|
|
|
header "cstdlib"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cstring {
|
|
|
|
header "cstring"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module ctgmath {
|
|
|
|
header "ctgmath"
|
|
|
|
export ccomplex
|
|
|
|
export cmath
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module ctime {
|
|
|
|
header "ctime"
|
|
|
|
export *
|
|
|
|
}
|
2022-02-04 04:42:40 +08:00
|
|
|
module cuchar {
|
|
|
|
header "cuchar"
|
|
|
|
export *
|
|
|
|
}
|
2016-10-21 11:14:27 +08:00
|
|
|
module cwchar {
|
|
|
|
header "cwchar"
|
2016-12-06 15:40:46 +08:00
|
|
|
export depr.stdio_h
|
2016-10-21 11:14:27 +08:00
|
|
|
export *
|
|
|
|
}
|
|
|
|
module cwctype {
|
|
|
|
header "cwctype"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-05-21 08:33:49 +08:00
|
|
|
module algorithm {
|
|
|
|
header "algorithm"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
2021-06-17 23:30:11 +08:00
|
|
|
|
|
|
|
module __algorithm {
|
2021-07-14 03:44:07 +08:00
|
|
|
module adjacent_find { private header "__algorithm/adjacent_find.h" }
|
|
|
|
module all_of { private header "__algorithm/all_of.h" }
|
|
|
|
module any_of { private header "__algorithm/any_of.h" }
|
|
|
|
module binary_search { private header "__algorithm/binary_search.h" }
|
|
|
|
module clamp { private header "__algorithm/clamp.h" }
|
|
|
|
module comp { private header "__algorithm/comp.h" }
|
|
|
|
module comp_ref_type { private header "__algorithm/comp_ref_type.h" }
|
|
|
|
module copy { private header "__algorithm/copy.h" }
|
|
|
|
module copy_backward { private header "__algorithm/copy_backward.h" }
|
|
|
|
module copy_if { private header "__algorithm/copy_if.h" }
|
|
|
|
module copy_n { private header "__algorithm/copy_n.h" }
|
|
|
|
module count { private header "__algorithm/count.h" }
|
|
|
|
module count_if { private header "__algorithm/count_if.h" }
|
|
|
|
module equal { private header "__algorithm/equal.h" }
|
|
|
|
module equal_range { private header "__algorithm/equal_range.h" }
|
|
|
|
module fill { private header "__algorithm/fill.h" }
|
|
|
|
module fill_n { private header "__algorithm/fill_n.h" }
|
|
|
|
module find { private header "__algorithm/find.h" }
|
|
|
|
module find_end { private header "__algorithm/find_end.h" }
|
|
|
|
module find_first_of { private header "__algorithm/find_first_of.h" }
|
|
|
|
module find_if { private header "__algorithm/find_if.h" }
|
|
|
|
module find_if_not { private header "__algorithm/find_if_not.h" }
|
|
|
|
module for_each { private header "__algorithm/for_each.h" }
|
|
|
|
module for_each_n { private header "__algorithm/for_each_n.h" }
|
|
|
|
module generate { private header "__algorithm/generate.h" }
|
|
|
|
module generate_n { private header "__algorithm/generate_n.h" }
|
|
|
|
module half_positive { private header "__algorithm/half_positive.h" }
|
2022-02-22 06:07:02 +08:00
|
|
|
module in_found_result { private header "__algorithm/in_found_result.h" }
|
2022-02-12 00:01:58 +08:00
|
|
|
module in_fun_result { private header "__algorithm/in_fun_result.h" }
|
2022-01-25 18:21:47 +08:00
|
|
|
module in_in_out_result { private header "__algorithm/in_in_out_result.h" }
|
2022-01-14 09:55:51 +08:00
|
|
|
module in_in_result { private header "__algorithm/in_in_result.h" }
|
2022-02-03 09:17:03 +08:00
|
|
|
module in_out_out_result { private header "__algorithm/in_out_out_result.h" }
|
2022-01-11 14:49:37 +08:00
|
|
|
module in_out_result { private header "__algorithm/in_out_result.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module includes { private header "__algorithm/includes.h" }
|
|
|
|
module inplace_merge { private header "__algorithm/inplace_merge.h" }
|
|
|
|
module is_heap { private header "__algorithm/is_heap.h" }
|
|
|
|
module is_heap_until { private header "__algorithm/is_heap_until.h" }
|
|
|
|
module is_partitioned { private header "__algorithm/is_partitioned.h" }
|
|
|
|
module is_permutation { private header "__algorithm/is_permutation.h" }
|
|
|
|
module is_sorted { private header "__algorithm/is_sorted.h" }
|
|
|
|
module is_sorted_until { private header "__algorithm/is_sorted_until.h" }
|
|
|
|
module iter_swap { private header "__algorithm/iter_swap.h" }
|
|
|
|
module lexicographical_compare { private header "__algorithm/lexicographical_compare.h" }
|
|
|
|
module lower_bound { private header "__algorithm/lower_bound.h" }
|
|
|
|
module make_heap { private header "__algorithm/make_heap.h" }
|
|
|
|
module max { private header "__algorithm/max.h" }
|
|
|
|
module max_element { private header "__algorithm/max_element.h" }
|
|
|
|
module merge { private header "__algorithm/merge.h" }
|
|
|
|
module min { private header "__algorithm/min.h" }
|
|
|
|
module min_element { private header "__algorithm/min_element.h" }
|
2022-02-22 05:48:36 +08:00
|
|
|
module min_max_result { private header "__algorithm/min_max_result.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module minmax { private header "__algorithm/minmax.h" }
|
|
|
|
module minmax_element { private header "__algorithm/minmax_element.h" }
|
|
|
|
module mismatch { private header "__algorithm/mismatch.h" }
|
|
|
|
module move { private header "__algorithm/move.h" }
|
|
|
|
module move_backward { private header "__algorithm/move_backward.h" }
|
|
|
|
module next_permutation { private header "__algorithm/next_permutation.h" }
|
|
|
|
module none_of { private header "__algorithm/none_of.h" }
|
|
|
|
module nth_element { private header "__algorithm/nth_element.h" }
|
|
|
|
module partial_sort { private header "__algorithm/partial_sort.h" }
|
|
|
|
module partial_sort_copy { private header "__algorithm/partial_sort_copy.h" }
|
|
|
|
module partition { private header "__algorithm/partition.h" }
|
|
|
|
module partition_copy { private header "__algorithm/partition_copy.h" }
|
|
|
|
module partition_point { private header "__algorithm/partition_point.h" }
|
|
|
|
module pop_heap { private header "__algorithm/pop_heap.h" }
|
|
|
|
module prev_permutation { private header "__algorithm/prev_permutation.h" }
|
|
|
|
module push_heap { private header "__algorithm/push_heap.h" }
|
2022-04-15 19:43:40 +08:00
|
|
|
module ranges_copy { private header "__algorithm/ranges_copy.h" }
|
|
|
|
module ranges_copy_backward { private header "__algorithm/ranges_copy_backward.h" }
|
|
|
|
module ranges_copy_if { private header "__algorithm/ranges_copy_if.h" }
|
|
|
|
module ranges_copy_n { private header "__algorithm/ranges_copy_n.h" }
|
2022-04-07 19:02:02 +08:00
|
|
|
module ranges_count { private header "__algorithm/ranges_count.h" }
|
|
|
|
module ranges_count_if { private header "__algorithm/ranges_count_if.h" }
|
2022-03-12 08:45:35 +08:00
|
|
|
module ranges_find { private header "__algorithm/ranges_find.h" }
|
|
|
|
module ranges_find_if { private header "__algorithm/ranges_find_if.h" }
|
|
|
|
module ranges_find_if_not { private header "__algorithm/ranges_find_if_not.h" }
|
2022-04-03 15:17:01 +08:00
|
|
|
module ranges_max { private header "__algorithm/ranges_max.h" }
|
2022-03-08 00:01:52 +08:00
|
|
|
module ranges_max_element { private header "__algorithm/ranges_max_element.h" }
|
2022-03-18 09:57:08 +08:00
|
|
|
module ranges_min { private header "__algorithm/ranges_min.h" }
|
2022-02-11 20:11:57 +08:00
|
|
|
module ranges_min_element { private header "__algorithm/ranges_min_element.h" }
|
2022-04-14 04:59:09 +08:00
|
|
|
module ranges_minmax { private header "__algorithm/ranges_minmax.h" }
|
|
|
|
module ranges_minmax_element { private header "__algorithm/ranges_minmax_element.h" }
|
2022-03-09 06:12:35 +08:00
|
|
|
module ranges_mismatch { private header "__algorithm/ranges_mismatch.h" }
|
2022-02-10 20:33:03 +08:00
|
|
|
module ranges_swap_ranges { private header "__algorithm/ranges_swap_ranges.h" }
|
2022-04-05 17:05:36 +08:00
|
|
|
module ranges_transform { private header "__algorithm/ranges_transform.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module remove { private header "__algorithm/remove.h" }
|
|
|
|
module remove_copy { private header "__algorithm/remove_copy.h" }
|
|
|
|
module remove_copy_if { private header "__algorithm/remove_copy_if.h" }
|
|
|
|
module remove_if { private header "__algorithm/remove_if.h" }
|
|
|
|
module replace { private header "__algorithm/replace.h" }
|
|
|
|
module replace_copy { private header "__algorithm/replace_copy.h" }
|
|
|
|
module replace_copy_if { private header "__algorithm/replace_copy_if.h" }
|
|
|
|
module replace_if { private header "__algorithm/replace_if.h" }
|
|
|
|
module reverse { private header "__algorithm/reverse.h" }
|
|
|
|
module reverse_copy { private header "__algorithm/reverse_copy.h" }
|
|
|
|
module rotate { private header "__algorithm/rotate.h" }
|
|
|
|
module rotate_copy { private header "__algorithm/rotate_copy.h" }
|
|
|
|
module sample { private header "__algorithm/sample.h" }
|
|
|
|
module search { private header "__algorithm/search.h" }
|
|
|
|
module search_n { private header "__algorithm/search_n.h" }
|
|
|
|
module set_difference { private header "__algorithm/set_difference.h" }
|
|
|
|
module set_intersection { private header "__algorithm/set_intersection.h" }
|
|
|
|
module set_symmetric_difference { private header "__algorithm/set_symmetric_difference.h" }
|
|
|
|
module set_union { private header "__algorithm/set_union.h" }
|
|
|
|
module shift_left { private header "__algorithm/shift_left.h" }
|
|
|
|
module shift_right { private header "__algorithm/shift_right.h" }
|
|
|
|
module shuffle { private header "__algorithm/shuffle.h" }
|
|
|
|
module sift_down { private header "__algorithm/sift_down.h" }
|
|
|
|
module sort { private header "__algorithm/sort.h" }
|
|
|
|
module sort_heap { private header "__algorithm/sort_heap.h" }
|
|
|
|
module stable_partition { private header "__algorithm/stable_partition.h" }
|
|
|
|
module stable_sort { private header "__algorithm/stable_sort.h" }
|
|
|
|
module swap_ranges { private header "__algorithm/swap_ranges.h" }
|
|
|
|
module transform { private header "__algorithm/transform.h" }
|
|
|
|
module unique { private header "__algorithm/unique.h" }
|
|
|
|
module unique_copy { private header "__algorithm/unique_copy.h" }
|
|
|
|
module unwrap_iter { private header "__algorithm/unwrap_iter.h" }
|
|
|
|
module upper_bound { private header "__algorithm/upper_bound.h" }
|
2021-06-17 23:30:11 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
2016-12-06 07:33:19 +08:00
|
|
|
module any {
|
|
|
|
header "any"
|
|
|
|
export *
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module array {
|
|
|
|
header "array"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module atomic {
|
|
|
|
header "atomic"
|
|
|
|
export *
|
|
|
|
}
|
2020-02-18 22:58:34 +08:00
|
|
|
module barrier {
|
2020-02-25 03:20:54 +08:00
|
|
|
requires cplusplus14
|
2020-02-18 22:58:34 +08:00
|
|
|
header "barrier"
|
|
|
|
export *
|
|
|
|
}
|
2018-08-18 00:07:48 +08:00
|
|
|
module bit {
|
|
|
|
header "bit"
|
|
|
|
export *
|
2020-05-29 02:28:38 +08:00
|
|
|
|
|
|
|
module __bit {
|
|
|
|
module bit_cast { private header "__bit/bit_cast.h" }
|
2021-11-22 07:22:55 +08:00
|
|
|
module byteswap { private header "__bit/byteswap.h" }
|
2020-05-29 02:28:38 +08:00
|
|
|
}
|
2018-08-18 00:07:48 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module bitset {
|
|
|
|
header "bitset"
|
|
|
|
export string
|
|
|
|
export iosfwd
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
// No submodule for cassert. It fundamentally needs repeated, textual inclusion.
|
2018-08-01 10:38:30 +08:00
|
|
|
module charconv {
|
|
|
|
header "charconv"
|
|
|
|
export *
|
2021-08-31 01:47:55 +08:00
|
|
|
|
|
|
|
module __charconv {
|
2021-12-06 07:56:58 +08:00
|
|
|
module chars_format { private header "__charconv/chars_format.h" }
|
2021-08-31 01:47:55 +08:00
|
|
|
module from_chars_result { private header "__charconv/from_chars_result.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module to_chars_result { private header "__charconv/to_chars_result.h" }
|
2021-08-31 01:47:55 +08:00
|
|
|
}
|
|
|
|
|
2018-08-01 10:38:30 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module chrono {
|
|
|
|
header "chrono"
|
|
|
|
export *
|
2022-01-11 03:56:43 +08:00
|
|
|
|
|
|
|
module __chrono {
|
|
|
|
module calendar { private header "__chrono/calendar.h" }
|
2022-01-10 22:43:29 +08:00
|
|
|
module convert_to_timespec { private header "__chrono/convert_to_timespec.h" }
|
2022-04-03 21:58:57 +08:00
|
|
|
module day { private header "__chrono/day.h" }
|
2022-01-11 03:56:43 +08:00
|
|
|
module duration { private header "__chrono/duration.h" }
|
|
|
|
module file_clock { private header "__chrono/file_clock.h" }
|
2022-04-03 21:58:57 +08:00
|
|
|
module hh_mm_ss { private header "__chrono/hh_mm_ss.h" }
|
2022-01-11 03:56:43 +08:00
|
|
|
module high_resolution_clock { private header "__chrono/high_resolution_clock.h" }
|
2022-04-03 21:58:57 +08:00
|
|
|
module literals { private header "__chrono/literals.h" }
|
|
|
|
module month { private header "__chrono/month.h" }
|
|
|
|
module month_weekday { private header "__chrono/month_weekday.h" }
|
|
|
|
module monthday { private header "__chrono/monthday.h" }
|
2022-01-11 03:56:43 +08:00
|
|
|
module steady_clock { private header "__chrono/steady_clock.h" }
|
|
|
|
module system_clock { private header "__chrono/system_clock.h" }
|
|
|
|
module time_point { private header "__chrono/time_point.h" }
|
2022-04-03 21:58:57 +08:00
|
|
|
module weekday { private header "__chrono/weekday.h" }
|
|
|
|
module year { private header "__chrono/year.h" }
|
|
|
|
module year_month { private header "__chrono/year_month.h" }
|
|
|
|
module year_month_day { private header "__chrono/year_month_day.h" }
|
|
|
|
module year_month_weekday { private header "__chrono/year_month_weekday.h" }
|
2022-01-11 03:56:43 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module codecvt {
|
|
|
|
header "codecvt"
|
|
|
|
export *
|
|
|
|
}
|
2018-04-07 05:37:23 +08:00
|
|
|
module compare {
|
|
|
|
header "compare"
|
|
|
|
export *
|
2021-07-29 10:05:46 +08:00
|
|
|
|
|
|
|
module __compare {
|
2021-09-09 04:48:50 +08:00
|
|
|
module common_comparison_category { private header "__compare/common_comparison_category.h" }
|
|
|
|
module compare_partial_order_fallback { private header "__compare/compare_partial_order_fallback.h" }
|
|
|
|
module compare_strong_order_fallback { private header "__compare/compare_strong_order_fallback.h" }
|
|
|
|
module compare_three_way { private header "__compare/compare_three_way.h" }
|
|
|
|
module compare_three_way_result { private header "__compare/compare_three_way_result.h" }
|
|
|
|
module compare_weak_order_fallback { private header "__compare/compare_weak_order_fallback.h" }
|
|
|
|
module is_eq { private header "__compare/is_eq.h" }
|
|
|
|
module ordering { private header "__compare/ordering.h" }
|
|
|
|
module partial_order { private header "__compare/partial_order.h" }
|
|
|
|
module strong_order { private header "__compare/strong_order.h" }
|
|
|
|
module synth_three_way { private header "__compare/synth_three_way.h" }
|
|
|
|
module three_way_comparable { private header "__compare/three_way_comparable.h" }
|
|
|
|
module weak_order { private header "__compare/weak_order.h" }
|
2021-07-29 10:05:46 +08:00
|
|
|
}
|
2018-04-07 05:37:23 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module complex {
|
|
|
|
header "complex"
|
|
|
|
export *
|
|
|
|
}
|
2020-04-09 06:00:13 +08:00
|
|
|
module concepts {
|
|
|
|
header "concepts"
|
|
|
|
export *
|
2021-07-29 13:08:30 +08:00
|
|
|
|
|
|
|
module __concepts {
|
2021-12-06 07:56:58 +08:00
|
|
|
module arithmetic { private header "__concepts/arithmetic.h" }
|
|
|
|
module assignable { private header "__concepts/assignable.h" }
|
|
|
|
module boolean_testable { private header "__concepts/boolean_testable.h" }
|
|
|
|
module class_or_enum { private header "__concepts/class_or_enum.h" }
|
|
|
|
module common_reference_with { private header "__concepts/common_reference_with.h" }
|
|
|
|
module common_with { private header "__concepts/common_with.h" }
|
|
|
|
module constructible { private header "__concepts/constructible.h" }
|
|
|
|
module convertible_to { private header "__concepts/convertible_to.h" }
|
|
|
|
module copyable { private header "__concepts/copyable.h" }
|
|
|
|
module derived_from { private header "__concepts/derived_from.h" }
|
|
|
|
module destructible { private header "__concepts/destructible.h" }
|
|
|
|
module different_from { private header "__concepts/different_from.h" }
|
|
|
|
module equality_comparable { private header "__concepts/equality_comparable.h" }
|
|
|
|
module invocable { private header "__concepts/invocable.h" }
|
|
|
|
module movable { private header "__concepts/movable.h" }
|
|
|
|
module predicate { private header "__concepts/predicate.h" }
|
|
|
|
module regular { private header "__concepts/regular.h" }
|
|
|
|
module relation { private header "__concepts/relation.h" }
|
|
|
|
module same_as { private header "__concepts/same_as.h" }
|
|
|
|
module semiregular { private header "__concepts/semiregular.h" }
|
|
|
|
module swappable { private header "__concepts/swappable.h" }
|
|
|
|
module totally_ordered { private header "__concepts/totally_ordered.h" }
|
2021-07-29 13:08:30 +08:00
|
|
|
}
|
2020-04-09 06:00:13 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module condition_variable {
|
|
|
|
header "condition_variable"
|
|
|
|
export *
|
|
|
|
}
|
2021-11-16 14:05:34 +08:00
|
|
|
module coroutine {
|
|
|
|
requires coroutines
|
|
|
|
header "coroutine"
|
|
|
|
export compare
|
|
|
|
export *
|
|
|
|
|
|
|
|
module __coroutine {
|
2021-12-06 07:56:58 +08:00
|
|
|
module coroutine_handle { private header "__coroutine/coroutine_handle.h" }
|
|
|
|
module coroutine_traits { private header "__coroutine/coroutine_traits.h" }
|
|
|
|
module noop_coroutine_handle { private header "__coroutine/noop_coroutine_handle.h" }
|
2022-01-11 02:23:19 +08:00
|
|
|
module trivial_awaitables { private header "__coroutine/trivial_awaitables.h" }
|
2021-11-16 14:05:34 +08:00
|
|
|
}
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module deque {
|
|
|
|
header "deque"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module exception {
|
|
|
|
header "exception"
|
|
|
|
export *
|
|
|
|
}
|
2019-08-06 02:29:14 +08:00
|
|
|
module execution {
|
|
|
|
header "execution"
|
|
|
|
export *
|
|
|
|
}
|
Implement <filesystem>
This patch implements the <filesystem> header and uses that
to provide <experimental/filesystem>.
Unlike other standard headers, the symbols needed for <filesystem>
have not yet been placed in libc++.so. Instead they live in the
new libc++fs.a library. Users of filesystem are required to link this
library. (Also note that libc++experimental no longer contains the
definition of <experimental/filesystem>, which now requires linking libc++fs).
The reason for keeping <filesystem> out of the dylib for now is that
it's still somewhat experimental, and the possibility of requiring an
ABI breaking change is very real. In the future the symbols will likely
be moved into the dylib, or the dylib will be made to link libc++fs automagically).
Note that moving the symbols out of libc++experimental may break user builds
until they update to -lc++fs. This should be OK, because the experimental
library provides no stability guarantees. However, I plan on looking into
ways we can force libc++experimental to automagically link libc++fs.
In order to use a single implementation and set of tests for <filesystem>, it
has been placed in a special `__fs` namespace. This namespace is inline in
C++17 onward, but not before that. As such implementation is available
in C++11 onward, but no filesystem namespace is present "directly", and
as such name conflicts shouldn't occur in C++11 or C++14.
llvm-svn: 338093
2018-07-27 11:07:09 +08:00
|
|
|
module filesystem {
|
|
|
|
header "filesystem"
|
|
|
|
export *
|
2021-12-18 17:21:25 +08:00
|
|
|
|
|
|
|
module __filesystem {
|
|
|
|
module copy_options { private header "__filesystem/copy_options.h" }
|
|
|
|
module directory_entry { private header "__filesystem/directory_entry.h" }
|
|
|
|
module directory_iterator { private header "__filesystem/directory_iterator.h" }
|
|
|
|
module directory_options { private header "__filesystem/directory_options.h" }
|
|
|
|
module file_status { private header "__filesystem/file_status.h" }
|
|
|
|
module file_time_type { private header "__filesystem/file_time_type.h" }
|
|
|
|
module file_type { private header "__filesystem/file_type.h" }
|
|
|
|
module filesystem_error { private header "__filesystem/filesystem_error.h" }
|
|
|
|
module operations { private header "__filesystem/operations.h" }
|
|
|
|
module path { private header "__filesystem/path.h" }
|
2022-01-11 02:23:19 +08:00
|
|
|
module path_iterator { private header "__filesystem/path_iterator.h" }
|
2021-12-18 17:21:25 +08:00
|
|
|
module perm_options { private header "__filesystem/perm_options.h" }
|
|
|
|
module perms { private header "__filesystem/perms.h" }
|
|
|
|
module recursive_directory_iterator { private header "__filesystem/recursive_directory_iterator.h" }
|
|
|
|
module space_info { private header "__filesystem/space_info.h" }
|
|
|
|
module u8path { private header "__filesystem/u8path.h" }
|
|
|
|
}
|
Implement <filesystem>
This patch implements the <filesystem> header and uses that
to provide <experimental/filesystem>.
Unlike other standard headers, the symbols needed for <filesystem>
have not yet been placed in libc++.so. Instead they live in the
new libc++fs.a library. Users of filesystem are required to link this
library. (Also note that libc++experimental no longer contains the
definition of <experimental/filesystem>, which now requires linking libc++fs).
The reason for keeping <filesystem> out of the dylib for now is that
it's still somewhat experimental, and the possibility of requiring an
ABI breaking change is very real. In the future the symbols will likely
be moved into the dylib, or the dylib will be made to link libc++fs automagically).
Note that moving the symbols out of libc++experimental may break user builds
until they update to -lc++fs. This should be OK, because the experimental
library provides no stability guarantees. However, I plan on looking into
ways we can force libc++experimental to automagically link libc++fs.
In order to use a single implementation and set of tests for <filesystem>, it
has been placed in a special `__fs` namespace. This namespace is inline in
C++17 onward, but not before that. As such implementation is available
in C++11 onward, but no filesystem namespace is present "directly", and
as such name conflicts shouldn't occur in C++11 or C++14.
llvm-svn: 338093
2018-07-27 11:07:09 +08:00
|
|
|
}
|
2020-11-27 02:12:18 +08:00
|
|
|
module format {
|
|
|
|
header "format"
|
|
|
|
export *
|
2021-06-12 14:13:44 +08:00
|
|
|
|
|
|
|
module __format {
|
2021-09-05 03:05:23 +08:00
|
|
|
module buffer { private header "__format/buffer.h" }
|
2021-09-26 21:47:42 +08:00
|
|
|
module enable_insertable { private header "__format/enable_insertable.h" }
|
2020-12-15 00:39:15 +08:00
|
|
|
module format_arg { private header "__format/format_arg.h" }
|
|
|
|
module format_args { private header "__format/format_args.h" }
|
2020-12-05 18:45:21 +08:00
|
|
|
module format_context {
|
|
|
|
private header "__format/format_context.h"
|
|
|
|
export optional
|
|
|
|
export locale
|
|
|
|
}
|
2020-12-15 00:39:15 +08:00
|
|
|
module format_error { private header "__format/format_error.h" }
|
|
|
|
module format_fwd { private header "__format/format_fwd.h" }
|
|
|
|
module format_parse_context { private header "__format/format_parse_context.h" }
|
|
|
|
module format_string { private header "__format/format_string.h" }
|
|
|
|
module format_to_n_result { private header "__format/format_to_n_result.h" }
|
|
|
|
module formatter { private header "__format/formatter.h" }
|
|
|
|
module formatter_bool { private header "__format/formatter_bool.h" }
|
|
|
|
module formatter_char { private header "__format/formatter_char.h" }
|
|
|
|
module formatter_floating_point { private header "__format/formatter_floating_point.h" }
|
|
|
|
module formatter_integer { private header "__format/formatter_integer.h" }
|
|
|
|
module formatter_integral { private header "__format/formatter_integral.h" }
|
2021-11-28 21:43:43 +08:00
|
|
|
module formatter_pointer { private header "__format/formatter_pointer.h" }
|
2020-12-15 00:39:15 +08:00
|
|
|
module formatter_string { private header "__format/formatter_string.h" }
|
|
|
|
module parser_std_format_spec { private header "__format/parser_std_format_spec.h" }
|
2021-06-12 14:13:44 +08:00
|
|
|
}
|
2020-11-27 02:12:18 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module forward_list {
|
|
|
|
header "forward_list"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module fstream {
|
|
|
|
header "fstream"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module functional {
|
|
|
|
header "functional"
|
|
|
|
export *
|
2021-07-01 21:25:35 +08:00
|
|
|
|
2021-06-17 23:30:11 +08:00
|
|
|
module __functional {
|
2021-07-14 03:44:07 +08:00
|
|
|
module binary_function { private header "__functional/binary_function.h" }
|
|
|
|
module binary_negate { private header "__functional/binary_negate.h" }
|
|
|
|
module bind { private header "__functional/bind.h" }
|
2021-08-10 03:41:26 +08:00
|
|
|
module bind_back { private header "__functional/bind_back.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module bind_front { private header "__functional/bind_front.h" }
|
|
|
|
module binder1st { private header "__functional/binder1st.h" }
|
|
|
|
module binder2nd { private header "__functional/binder2nd.h" }
|
2021-08-10 03:41:26 +08:00
|
|
|
module compose { private header "__functional/compose.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module default_searcher { private header "__functional/default_searcher.h" }
|
|
|
|
module function { private header "__functional/function.h" }
|
|
|
|
module hash { private header "__functional/hash.h" }
|
|
|
|
module identity { private header "__functional/identity.h" }
|
|
|
|
module invoke { private header "__functional/invoke.h" }
|
2021-08-10 03:41:26 +08:00
|
|
|
module is_transparent { private header "__functional/is_transparent.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module mem_fn { private header "__functional/mem_fn.h" }
|
|
|
|
module mem_fun_ref { private header "__functional/mem_fun_ref.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module not_fn { private header "__functional/not_fn.h" }
|
|
|
|
module operations { private header "__functional/operations.h" }
|
|
|
|
module perfect_forward { private header "__functional/perfect_forward.h" }
|
|
|
|
module pointer_to_binary_function { private header "__functional/pointer_to_binary_function.h" }
|
|
|
|
module pointer_to_unary_function { private header "__functional/pointer_to_unary_function.h" }
|
|
|
|
module ranges_operations { private header "__functional/ranges_operations.h" }
|
|
|
|
module reference_wrapper { private header "__functional/reference_wrapper.h" }
|
|
|
|
module unary_function { private header "__functional/unary_function.h" }
|
|
|
|
module unary_negate { private header "__functional/unary_negate.h" }
|
|
|
|
module unwrap_ref { private header "__functional/unwrap_ref.h" }
|
|
|
|
module weak_result_type { private header "__functional/weak_result_type.h" }
|
2021-06-17 23:30:11 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module future {
|
|
|
|
header "future"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module initializer_list {
|
|
|
|
header "initializer_list"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module iomanip {
|
|
|
|
header "iomanip"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module ios {
|
|
|
|
header "ios"
|
|
|
|
export iosfwd
|
|
|
|
export *
|
2022-02-04 20:04:33 +08:00
|
|
|
|
|
|
|
module __ios {
|
|
|
|
module fpos { private header "__ios/fpos.h" }
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module iosfwd {
|
|
|
|
header "iosfwd"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module iostream {
|
|
|
|
header "iostream"
|
|
|
|
export ios
|
|
|
|
export streambuf
|
|
|
|
export istream
|
|
|
|
export ostream
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module istream {
|
|
|
|
header "istream"
|
|
|
|
// FIXME: should re-export ios, streambuf?
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module iterator {
|
|
|
|
header "iterator"
|
|
|
|
export *
|
2021-06-12 14:13:44 +08:00
|
|
|
|
|
|
|
module __iterator {
|
2021-07-14 03:44:07 +08:00
|
|
|
module access { private header "__iterator/access.h" }
|
2022-01-04 09:28:00 +08:00
|
|
|
module advance { private header "__iterator/advance.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module back_insert_iterator { private header "__iterator/back_insert_iterator.h" }
|
2021-05-28 00:23:19 +08:00
|
|
|
module common_iterator { private header "__iterator/common_iterator.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module concepts { private header "__iterator/concepts.h" }
|
2021-07-14 02:06:10 +08:00
|
|
|
module counted_iterator { private header "__iterator/counted_iterator.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module data { private header "__iterator/data.h" }
|
|
|
|
module default_sentinel { private header "__iterator/default_sentinel.h" }
|
|
|
|
module distance { private header "__iterator/distance.h" }
|
|
|
|
module empty { private header "__iterator/empty.h" }
|
|
|
|
module erase_if_container { private header "__iterator/erase_if_container.h" }
|
|
|
|
module front_insert_iterator { private header "__iterator/front_insert_iterator.h" }
|
|
|
|
module incrementable_traits { private header "__iterator/incrementable_traits.h" }
|
2022-01-05 02:55:37 +08:00
|
|
|
module indirectly_comparable { private header "__iterator/indirectly_comparable.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module insert_iterator { private header "__iterator/insert_iterator.h" }
|
|
|
|
module istream_iterator { private header "__iterator/istream_iterator.h" }
|
|
|
|
module istreambuf_iterator { private header "__iterator/istreambuf_iterator.h" }
|
|
|
|
module iter_move { private header "__iterator/iter_move.h" }
|
|
|
|
module iter_swap { private header "__iterator/iter_swap.h" }
|
|
|
|
module iterator { private header "__iterator/iterator.h" }
|
|
|
|
module iterator_traits { private header "__iterator/iterator_traits.h" }
|
2022-02-18 12:11:46 +08:00
|
|
|
module mergeable { private header "__iterator/mergeable.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module move_iterator { private header "__iterator/move_iterator.h" }
|
2022-01-19 19:26:52 +08:00
|
|
|
module move_sentinel { private header "__iterator/move_sentinel.h" }
|
2022-01-04 09:28:00 +08:00
|
|
|
module next { private header "__iterator/next.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module ostream_iterator { private header "__iterator/ostream_iterator.h" }
|
2022-04-04 00:40:39 +08:00
|
|
|
module ostreambuf_iterator {
|
|
|
|
private header "__iterator/ostreambuf_iterator.h"
|
|
|
|
export iosfwd
|
|
|
|
}
|
2022-02-10 12:32:56 +08:00
|
|
|
module permutable { private header "__iterator/permutable.h" }
|
2022-01-04 09:28:00 +08:00
|
|
|
module prev { private header "__iterator/prev.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module projected { private header "__iterator/projected.h" }
|
|
|
|
module readable_traits { private header "__iterator/readable_traits.h" }
|
|
|
|
module reverse_access { private header "__iterator/reverse_access.h" }
|
|
|
|
module reverse_iterator { private header "__iterator/reverse_iterator.h" }
|
|
|
|
module size { private header "__iterator/size.h" }
|
2022-02-18 12:15:02 +08:00
|
|
|
module sortable { private header "__iterator/sortable.h" }
|
2021-08-12 02:16:27 +08:00
|
|
|
module unreachable_sentinel { private header "__iterator/unreachable_sentinel.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module wrap_iter { private header "__iterator/wrap_iter.h" }
|
2021-06-12 14:13:44 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
2020-02-18 22:58:34 +08:00
|
|
|
module latch {
|
2020-02-25 03:20:54 +08:00
|
|
|
requires cplusplus14
|
2020-02-18 22:58:34 +08:00
|
|
|
header "latch"
|
|
|
|
export *
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module limits {
|
|
|
|
header "limits"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module list {
|
|
|
|
header "list"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module locale {
|
|
|
|
header "locale"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module map {
|
|
|
|
header "map"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module memory {
|
|
|
|
header "memory"
|
|
|
|
export *
|
2021-06-12 14:13:44 +08:00
|
|
|
|
|
|
|
module __memory {
|
2021-12-15 06:11:37 +08:00
|
|
|
module addressof { private header "__memory/addressof.h" }
|
2022-04-09 15:41:19 +08:00
|
|
|
module allocate_at_least { private header "__memory/allocate_at_least.h" }
|
2021-12-15 06:11:37 +08:00
|
|
|
module allocation_guard { private header "__memory/allocation_guard.h" }
|
|
|
|
module allocator { private header "__memory/allocator.h" }
|
|
|
|
module allocator_arg_t { private header "__memory/allocator_arg_t.h" }
|
|
|
|
module allocator_traits { private header "__memory/allocator_traits.h" }
|
2022-02-04 03:45:22 +08:00
|
|
|
module assume_aligned { private header "__memory/assume_aligned.h" }
|
2021-12-15 06:11:37 +08:00
|
|
|
module auto_ptr { private header "__memory/auto_ptr.h" }
|
|
|
|
module compressed_pair { private header "__memory/compressed_pair.h" }
|
|
|
|
module concepts { private header "__memory/concepts.h" }
|
|
|
|
module construct_at { private header "__memory/construct_at.h" }
|
|
|
|
module pointer_traits { private header "__memory/pointer_traits.h" }
|
2022-01-04 09:28:00 +08:00
|
|
|
module ranges_construct_at { private header "__memory/ranges_construct_at.h" }
|
|
|
|
module ranges_uninitialized_algorithms { private header "__memory/ranges_uninitialized_algorithms.h" }
|
2021-12-15 06:11:37 +08:00
|
|
|
module raw_storage_iterator { private header "__memory/raw_storage_iterator.h" }
|
|
|
|
module shared_ptr { private header "__memory/shared_ptr.h" }
|
|
|
|
module temporary_buffer { private header "__memory/temporary_buffer.h" }
|
|
|
|
module uninitialized_algorithms { private header "__memory/uninitialized_algorithms.h" }
|
|
|
|
module unique_ptr { private header "__memory/unique_ptr.h" }
|
|
|
|
module uses_allocator { private header "__memory/uses_allocator.h" }
|
2021-12-20 16:24:10 +08:00
|
|
|
module voidify { private header "__memory/voidify.h" }
|
2021-06-12 14:13:44 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module mutex {
|
|
|
|
header "mutex"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module new {
|
|
|
|
header "new"
|
|
|
|
export *
|
|
|
|
}
|
2020-06-19 15:13:33 +08:00
|
|
|
module numbers {
|
|
|
|
header "numbers"
|
|
|
|
export *
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module numeric {
|
|
|
|
header "numeric"
|
|
|
|
export *
|
2021-12-01 09:36:32 +08:00
|
|
|
|
|
|
|
module __numeric {
|
|
|
|
module accumulate { private header "__numeric/accumulate.h" }
|
|
|
|
module adjacent_difference { private header "__numeric/adjacent_difference.h" }
|
|
|
|
module exclusive_scan { private header "__numeric/exclusive_scan.h" }
|
|
|
|
module gcd_lcm { private header "__numeric/gcd_lcm.h" }
|
|
|
|
module inclusive_scan { private header "__numeric/inclusive_scan.h" }
|
|
|
|
module inner_product { private header "__numeric/inner_product.h" }
|
|
|
|
module iota { private header "__numeric/iota.h" }
|
|
|
|
module midpoint { private header "__numeric/midpoint.h" }
|
|
|
|
module partial_sum { private header "__numeric/partial_sum.h" }
|
|
|
|
module reduce { private header "__numeric/reduce.h" }
|
|
|
|
module transform_exclusive_scan { private header "__numeric/transform_exclusive_scan.h" }
|
|
|
|
module transform_inclusive_scan { private header "__numeric/transform_inclusive_scan.h" }
|
|
|
|
module transform_reduce { private header "__numeric/transform_reduce.h" }
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
2016-12-06 07:33:19 +08:00
|
|
|
module optional {
|
|
|
|
header "optional"
|
|
|
|
export *
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module ostream {
|
|
|
|
header "ostream"
|
|
|
|
// FIXME: should re-export ios, streambuf?
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module queue {
|
|
|
|
header "queue"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module random {
|
|
|
|
header "random"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
2021-06-17 23:30:11 +08:00
|
|
|
|
|
|
|
module __random {
|
2021-12-06 07:56:58 +08:00
|
|
|
module bernoulli_distribution { private header "__random/bernoulli_distribution.h" }
|
|
|
|
module binomial_distribution { private header "__random/binomial_distribution.h" }
|
|
|
|
module cauchy_distribution { private header "__random/cauchy_distribution.h" }
|
|
|
|
module chi_squared_distribution { private header "__random/chi_squared_distribution.h" }
|
2021-12-08 05:34:13 +08:00
|
|
|
module clamp_to_integral { private header "__random/clamp_to_integral.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module default_random_engine { private header "__random/default_random_engine.h" }
|
|
|
|
module discard_block_engine { private header "__random/discard_block_engine.h" }
|
|
|
|
module discrete_distribution { private header "__random/discrete_distribution.h" }
|
|
|
|
module exponential_distribution { private header "__random/exponential_distribution.h" }
|
|
|
|
module extreme_value_distribution { private header "__random/extreme_value_distribution.h" }
|
|
|
|
module fisher_f_distribution { private header "__random/fisher_f_distribution.h" }
|
|
|
|
module gamma_distribution { private header "__random/gamma_distribution.h" }
|
|
|
|
module generate_canonical { private header "__random/generate_canonical.h" }
|
|
|
|
module geometric_distribution { private header "__random/geometric_distribution.h" }
|
|
|
|
module independent_bits_engine { private header "__random/independent_bits_engine.h" }
|
|
|
|
module is_seed_sequence { private header "__random/is_seed_sequence.h" }
|
2021-12-02 08:55:26 +08:00
|
|
|
module is_valid { private header "__random/is_valid.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module knuth_b { private header "__random/knuth_b.h" }
|
|
|
|
module linear_congruential_engine { private header "__random/linear_congruential_engine.h" }
|
|
|
|
module log2 { private header "__random/log2.h" }
|
|
|
|
module lognormal_distribution { private header "__random/lognormal_distribution.h" }
|
|
|
|
module mersenne_twister_engine { private header "__random/mersenne_twister_engine.h" }
|
|
|
|
module negative_binomial_distribution { private header "__random/negative_binomial_distribution.h" }
|
|
|
|
module normal_distribution { private header "__random/normal_distribution.h" }
|
2021-11-20 03:58:51 +08:00
|
|
|
module piecewise_constant_distribution { private header "__random/piecewise_constant_distribution.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module piecewise_linear_distribution { private header "__random/piecewise_linear_distribution.h" }
|
|
|
|
module poisson_distribution { private header "__random/poisson_distribution.h" }
|
|
|
|
module random_device { private header "__random/random_device.h" }
|
|
|
|
module ranlux { private header "__random/ranlux.h" }
|
|
|
|
module seed_seq { private header "__random/seed_seq.h" }
|
|
|
|
module shuffle_order_engine { private header "__random/shuffle_order_engine.h" }
|
|
|
|
module student_t_distribution { private header "__random/student_t_distribution.h" }
|
|
|
|
module subtract_with_carry_engine { private header "__random/subtract_with_carry_engine.h" }
|
|
|
|
module uniform_int_distribution { private header "__random/uniform_int_distribution.h" }
|
|
|
|
module uniform_random_bit_generator { private header "__random/uniform_random_bit_generator.h" }
|
|
|
|
module uniform_real_distribution { private header "__random/uniform_real_distribution.h" }
|
|
|
|
module weibull_distribution { private header "__random/weibull_distribution.h" }
|
2021-06-17 23:30:11 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
2020-11-25 01:08:02 +08:00
|
|
|
module ranges {
|
|
|
|
header "ranges"
|
2021-04-11 13:08:32 +08:00
|
|
|
export compare
|
|
|
|
export initializer_list
|
|
|
|
export iterator
|
2020-11-25 01:08:02 +08:00
|
|
|
export *
|
2021-06-12 14:13:44 +08:00
|
|
|
|
|
|
|
module __ranges {
|
2021-12-06 07:56:58 +08:00
|
|
|
module access { private header "__ranges/access.h" }
|
2021-08-12 05:36:35 +08:00
|
|
|
module all {
|
|
|
|
private header "__ranges/all.h"
|
|
|
|
export functional.__functional.compose
|
|
|
|
export functional.__functional.perfect_forward
|
|
|
|
}
|
2021-12-06 07:56:58 +08:00
|
|
|
module common_view { private header "__ranges/common_view.h" }
|
|
|
|
module concepts { private header "__ranges/concepts.h" }
|
|
|
|
module copyable_box { private header "__ranges/copyable_box.h" }
|
2021-12-15 06:11:37 +08:00
|
|
|
module counted {
|
|
|
|
private header "__ranges/counted.h"
|
|
|
|
export span
|
|
|
|
}
|
2021-12-06 07:56:58 +08:00
|
|
|
module dangling { private header "__ranges/dangling.h" }
|
|
|
|
module data { private header "__ranges/data.h" }
|
|
|
|
module drop_view { private header "__ranges/drop_view.h" }
|
|
|
|
module empty { private header "__ranges/empty.h" }
|
|
|
|
module empty_view { private header "__ranges/empty_view.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module enable_borrowed_range { private header "__ranges/enable_borrowed_range.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module enable_view { private header "__ranges/enable_view.h" }
|
2021-07-15 05:01:25 +08:00
|
|
|
module filter_view { private header "__ranges/filter_view.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module iota_view { private header "__ranges/iota_view.h" }
|
|
|
|
module join_view { private header "__ranges/join_view.h" }
|
2022-04-13 13:27:07 +08:00
|
|
|
module lazy_split_view { private header "__ranges/lazy_split_view.h" }
|
2021-07-20 00:12:49 +08:00
|
|
|
module non_propagating_cache { private header "__ranges/non_propagating_cache.h" }
|
2022-01-09 22:00:35 +08:00
|
|
|
module owning_view { private header "__ranges/owning_view.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module range_adaptor { private header "__ranges/range_adaptor.h" }
|
2022-02-14 19:29:18 +08:00
|
|
|
module rbegin { private header "__ranges/rbegin.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module ref_view { private header "__ranges/ref_view.h" }
|
2022-02-14 19:29:18 +08:00
|
|
|
module rend { private header "__ranges/rend.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module reverse_view { private header "__ranges/reverse_view.h" }
|
|
|
|
module single_view { private header "__ranges/single_view.h" }
|
2022-01-11 02:23:19 +08:00
|
|
|
module size { private header "__ranges/size.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module subrange { private header "__ranges/subrange.h" }
|
|
|
|
module take_view { private header "__ranges/take_view.h" }
|
2021-08-12 05:36:35 +08:00
|
|
|
module transform_view {
|
|
|
|
private header "__ranges/transform_view.h"
|
|
|
|
export functional.__functional.bind_back
|
|
|
|
export functional.__functional.perfect_forward
|
|
|
|
}
|
2021-12-06 07:56:58 +08:00
|
|
|
module view_interface { private header "__ranges/view_interface.h" }
|
2022-02-03 01:23:51 +08:00
|
|
|
module views { private header "__ranges/views.h" }
|
2021-06-12 14:13:44 +08:00
|
|
|
}
|
2020-11-25 01:08:02 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module ratio {
|
|
|
|
header "ratio"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module regex {
|
|
|
|
header "regex"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module scoped_allocator {
|
|
|
|
header "scoped_allocator"
|
|
|
|
export *
|
|
|
|
}
|
2020-02-18 22:58:34 +08:00
|
|
|
module semaphore {
|
2020-02-25 03:20:54 +08:00
|
|
|
requires cplusplus14
|
2020-02-18 22:58:34 +08:00
|
|
|
header "semaphore"
|
|
|
|
export *
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module set {
|
|
|
|
header "set"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
2021-07-15 14:41:17 +08:00
|
|
|
module shared_mutex {
|
|
|
|
header "shared_mutex"
|
|
|
|
export version
|
|
|
|
}
|
|
|
|
module span {
|
|
|
|
header "span"
|
|
|
|
export ranges.__ranges.enable_borrowed_range
|
|
|
|
export version
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module sstream {
|
|
|
|
header "sstream"
|
|
|
|
// FIXME: should re-export istream, ostream, ios, streambuf, string?
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module stack {
|
|
|
|
header "stack"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module stdexcept {
|
|
|
|
header "stdexcept"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module streambuf {
|
|
|
|
header "streambuf"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module string {
|
|
|
|
header "string"
|
|
|
|
export initializer_list
|
2016-12-06 07:53:23 +08:00
|
|
|
export string_view
|
|
|
|
export __string
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module string_view {
|
|
|
|
header "string_view"
|
|
|
|
export initializer_list
|
|
|
|
export __string
|
2014-05-21 08:33:49 +08:00
|
|
|
export *
|
|
|
|
}
|
|
|
|
module strstream {
|
|
|
|
header "strstream"
|
2016-12-06 07:16:07 +08:00
|
|
|
export *
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module system_error {
|
|
|
|
header "system_error"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module thread {
|
|
|
|
header "thread"
|
|
|
|
export *
|
2021-11-17 23:59:31 +08:00
|
|
|
|
|
|
|
module __thread {
|
2022-01-10 22:43:29 +08:00
|
|
|
module poll_with_backoff { private header "__thread/poll_with_backoff.h" }
|
|
|
|
module timed_backoff_policy { private header "__thread/timed_backoff_policy.h" }
|
2021-11-17 23:59:31 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module tuple {
|
|
|
|
header "tuple"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module type_traits {
|
|
|
|
header "type_traits"
|
2021-06-10 07:10:17 +08:00
|
|
|
export functional.__functional.unwrap_ref
|
2014-05-21 08:33:49 +08:00
|
|
|
export *
|
2022-04-07 19:40:53 +08:00
|
|
|
|
|
|
|
module integral_constant { private header "__type_traits/integral_constant.h" }
|
|
|
|
module is_callable { private header "__type_traits/is_callable.h" }
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module typeindex {
|
|
|
|
header "typeindex"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module typeinfo {
|
|
|
|
header "typeinfo"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module unordered_map {
|
|
|
|
header "unordered_map"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module unordered_set {
|
|
|
|
header "unordered_set"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module utility {
|
|
|
|
header "utility"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
2021-06-12 14:13:44 +08:00
|
|
|
|
|
|
|
module __utility {
|
2021-12-06 07:56:58 +08:00
|
|
|
module as_const { private header "__utility/as_const.h" }
|
2021-12-14 08:21:38 +08:00
|
|
|
module auto_cast { private header "__utility/auto_cast.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module cmp { private header "__utility/cmp.h" }
|
|
|
|
module declval { private header "__utility/declval.h" }
|
|
|
|
module exchange { private header "__utility/exchange.h" }
|
|
|
|
module forward { private header "__utility/forward.h" }
|
|
|
|
module in_place { private header "__utility/in_place.h" }
|
|
|
|
module integer_sequence { private header "__utility/integer_sequence.h" }
|
|
|
|
module move { private header "__utility/move.h" }
|
|
|
|
module pair { private header "__utility/pair.h" }
|
2021-07-14 03:44:07 +08:00
|
|
|
module piecewise_construct { private header "__utility/piecewise_construct.h" }
|
2021-12-06 07:56:58 +08:00
|
|
|
module priority_tag { private header "__utility/priority_tag.h" }
|
|
|
|
module rel_ops { private header "__utility/rel_ops.h" }
|
|
|
|
module swap { private header "__utility/swap.h" }
|
|
|
|
module to_underlying { private header "__utility/to_underlying.h" }
|
2021-12-14 23:18:19 +08:00
|
|
|
module transaction { private header "__utility/transaction.h" }
|
2022-02-15 01:26:02 +08:00
|
|
|
module unreachable { private header "__utility/unreachable.h" }
|
2021-06-12 14:13:44 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|
|
|
|
module valarray {
|
|
|
|
header "valarray"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
2016-12-06 07:33:19 +08:00
|
|
|
module variant {
|
|
|
|
header "variant"
|
|
|
|
export *
|
2021-07-08 03:27:27 +08:00
|
|
|
|
|
|
|
module __variant {
|
2021-07-14 03:44:07 +08:00
|
|
|
module monostate { private header "__variant/monostate.h" }
|
2021-07-08 03:27:27 +08:00
|
|
|
}
|
2016-12-06 07:33:19 +08:00
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
module vector {
|
|
|
|
header "vector"
|
|
|
|
export initializer_list
|
|
|
|
export *
|
|
|
|
}
|
2018-04-04 12:21:54 +08:00
|
|
|
module version {
|
|
|
|
header "version"
|
|
|
|
export *
|
|
|
|
}
|
2014-05-21 08:33:49 +08:00
|
|
|
|
2021-06-12 14:13:44 +08:00
|
|
|
// __config not modularised due to a bug in Clang
|
2014-05-21 08:33:49 +08:00
|
|
|
// FIXME: These should be private.
|
2022-02-15 02:41:09 +08:00
|
|
|
module __assert { header "__assert" export * }
|
2021-07-14 03:44:07 +08:00
|
|
|
module __availability { private header "__availability" export * }
|
|
|
|
module __bit_reference { private header "__bit_reference" export * }
|
|
|
|
module __bits { private header "__bits" export * }
|
2021-12-06 02:21:01 +08:00
|
|
|
module __debug { header "__debug" export * }
|
2021-07-14 03:44:07 +08:00
|
|
|
module __errc { private header "__errc" export * }
|
2021-12-06 02:21:01 +08:00
|
|
|
module __hash_table { header "__hash_table" export * }
|
2021-07-14 03:44:07 +08:00
|
|
|
module __locale { private header "__locale" export * }
|
2022-01-17 03:56:42 +08:00
|
|
|
module __mbstate_t { private header "__mbstate_t.h" export * }
|
2021-07-14 03:44:07 +08:00
|
|
|
module __mutex_base { private header "__mutex_base" export * }
|
|
|
|
module __node_handle { private header "__node_handle" export * }
|
|
|
|
module __split_buffer { private header "__split_buffer" export * }
|
|
|
|
module __std_stream { private header "__std_stream" export * }
|
|
|
|
module __string { private header "__string" export * }
|
2021-12-06 02:21:01 +08:00
|
|
|
module __threading_support { header "__threading_support" export * }
|
|
|
|
module __tree { header "__tree" export * }
|
2021-07-14 03:44:07 +08:00
|
|
|
module __tuple { private header "__tuple" export * }
|
2021-12-06 02:21:01 +08:00
|
|
|
module __undef_macros { header "__undef_macros" export * }
|
2016-12-06 07:55:34 +08:00
|
|
|
|
|
|
|
module experimental {
|
2016-12-06 09:34:24 +08:00
|
|
|
requires cplusplus11
|
|
|
|
|
2016-12-06 07:55:34 +08:00
|
|
|
module algorithm {
|
|
|
|
header "experimental/algorithm"
|
|
|
|
export *
|
|
|
|
}
|
2022-03-02 03:25:09 +08:00
|
|
|
module coroutine {
|
2017-05-30 07:17:28 +08:00
|
|
|
requires coroutines
|
2017-05-26 07:39:29 +08:00
|
|
|
header "experimental/coroutine"
|
|
|
|
export *
|
|
|
|
}
|
2016-12-06 07:55:34 +08:00
|
|
|
module deque {
|
|
|
|
header "experimental/deque"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module forward_list {
|
|
|
|
header "experimental/forward_list"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module functional {
|
|
|
|
header "experimental/functional"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module iterator {
|
|
|
|
header "experimental/iterator"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module list {
|
|
|
|
header "experimental/list"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module map {
|
|
|
|
header "experimental/map"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module memory_resource {
|
|
|
|
header "experimental/memory_resource"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module propagate_const {
|
|
|
|
header "experimental/propagate_const"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module regex {
|
|
|
|
header "experimental/regex"
|
|
|
|
export *
|
|
|
|
}
|
2018-04-24 05:54:06 +08:00
|
|
|
module simd {
|
|
|
|
header "experimental/simd"
|
|
|
|
export *
|
|
|
|
}
|
2016-12-06 07:55:34 +08:00
|
|
|
module set {
|
|
|
|
header "experimental/set"
|
|
|
|
export *
|
|
|
|
}
|
2018-07-24 11:01:02 +08:00
|
|
|
module span {
|
|
|
|
header "span"
|
|
|
|
export *
|
|
|
|
}
|
2016-12-06 07:55:34 +08:00
|
|
|
module string {
|
|
|
|
header "experimental/string"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module type_traits {
|
|
|
|
header "experimental/type_traits"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module unordered_map {
|
|
|
|
header "experimental/unordered_map"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module unordered_set {
|
|
|
|
header "experimental/unordered_set"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module utility {
|
|
|
|
header "experimental/utility"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
module vector {
|
|
|
|
header "experimental/vector"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
// FIXME these should be private
|
|
|
|
module __memory {
|
|
|
|
header "experimental/__memory"
|
|
|
|
export *
|
|
|
|
}
|
|
|
|
} // end experimental
|
2014-05-21 08:33:49 +08:00
|
|
|
}
|