module.modulemap revision 276792
1module std [system] {
2  // FIXME: The standard does not require that each of these submodules
3  // re-exports its imported modules. We should provide an alternative form of
4  // export that issues a warning if a name from the submodule is used, and
5  // use that to provide a 'strict mode' for libc++.
6  module algorithm {
7    header "algorithm"
8    export initializer_list
9    export *
10  }
11  module array {
12    header "array"
13    export initializer_list
14    export *
15  }
16  module atomic {
17    header "atomic"
18    export *
19    requires cplusplus11
20  }
21  module bitset {
22    header "bitset"
23    export string
24    export iosfwd
25    export *
26  }
27  // No submodule for cassert. It fundamentally needs repeated, textual inclusion.
28  module ccomplex {
29    header "ccomplex"
30    export complex
31    export *
32  }
33  module cctype {
34    header "cctype"
35    export *
36  }
37  module cerrno {
38    header "cerrno"
39/*
40    export_macros    ECONNREFUSED, EIO,          ENODEV,      ENOTEMPTY,       ERANGE,
41      E2BIG,         ECONNRESET,   EISCONN,      ENOENT,      ENOTRECOVERABLE, EROFS,
42      EACCES,        EDEADLK,      EISDIR,       ENOEXEC,     ENOTSOCK,        ESPIPE,
43      EADDRINUSE,    EDESTADDRREQ, ELOOP,        ENOLCK,      ENOTSUP,         ESRCH,
44      EADDRNOTAVAIL, EDOM,         EMFILE,       ENOLINK,     ENOTTY,          ETIME,
45      EAFNOSUPPORT,  EEXIST,       EMLINK,       ENOMEM,      ENXIO,           ETIMEDOUT,
46      EAGAIN,        EFAULT,       EMSGSIZE,     ENOMSG,      EOPNOTSUPP,      ETXTBSY,
47      EALREADY,      EFBIG,        ENAMETOOLONG, ENOPROTOOPT, EOVERFLOW,       EWOULDBLOCK,
48      EBADF,         EHOSTUNREACH, ENETDOWN,     ENOSPC,      EOWNERDEAD,      EXDEV,
49      EBADMSG,       EIDRM,        ENETRESET,    ENOSR,       EPERM,           errno,
50      EBUSY,         EILSEQ,       ENETUNREACH,  ENOSTR,      EPIPE,
51      ECANCELED,     EINPROGRESS,  ENFILE,       ENOSYS,      EPROTO,
52      ECHILD,        EINTR,        ENOBUFS,      ENOTCONN,    EPROTONOSUPPORT,
53      ECONNABORTED,  EINVAL,       ENODATA,      ENOTDIR,     EPROTOTYPE
54*/
55    export *
56  }
57  module cfenv {
58    header "cfenv"
59/*
60    export_macros FE_ALL_EXCEPT, FE_DIVBYZERO, FE_INEXACT, FE_INVALID, FE_OVERFLOW,
61                  FE_UNDERFLOW, FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD,
62                  FE_DFL_ENV
63*/
64    export *
65  }
66  module cfloat {
67    header "cfloat"
68/*
69    export_macros FLT_EVAL_METHOD, FLT_RADIX, FLT_ROUNDS,
70                  FLT_DIG, FLT_EPSILON, FLT_MANT_DIG,
71                  FLT_MAX, FLT_MAX_10_EXP, FLT_MAX_EXP,
72                  FLT_MIN, FLT_MIN_10_EXP, FLT_MIN_EXP,
73                  DBL_DIG, DBL_EPSILON, DBL_MANT_DIG,
74                  DBL_MAX, DBL_MAX_10_EXP, DBL_MAX_EXP,
75                  DBL_MIN, DBL_MIN_10_EXP, DBL_MIN_EXP,
76                  LDBL_DIG, LDBL_EPSILON, LDBL_MANT_DIG,
77                  LDBL_MAX, LDBL_MAX_10_EXP, LDBL_MAX_EXP,
78                  LDBL_MIN, LDBL_MIN_10_EXP, LDBL_MIN_EXP
79*/
80    export *
81  }
82  module chrono {
83    header "chrono"
84    export *
85  }
86  module cinttypes {
87    header "cinttypes"
88    export cstdint
89/*
90    export_macros
91      PRId8, PRId16, PRId32, PRId64, PRIdFAST8, PRIdFAST16, PRIdFAST32, PRIdFAST64, PRIdLEAST8, PRIdLEAST16, PRIdLEAST32, PRIdLEAST64, PRIdMAX, PRIdPTR,
92      PRIi8, PRIi16, PRIi32, PRIi64, PRIiFAST8, PRIiFAST16, PRIiFAST32, PRIiFAST64, PRIiLEAST8, PRIiLEAST16, PRIiLEAST32, PRIiLEAST64, PRIiMAX, PRIiPTR,
93      PRIo8, PRIo16, PRIo32, PRIo64, PRIoFAST8, PRIoFAST16, PRIoFAST32, PRIoFAST64, PRIoLEAST8, PRIoLEAST16, PRIoLEAST32, PRIoLEAST64, PRIoMAX, PRIoPTR,
94      PRIu8, PRIu16, PRIu32, PRIu64, PRIuFAST8, PRIuFAST16, PRIuFAST32, PRIuFAST64, PRIuLEAST8, PRIuLEAST16, PRIuLEAST32, PRIuLEAST64, PRIuMAX, PRIuPTR,
95      PRIx8, PRIx16, PRIx32, PRIx64, PRIxFAST8, PRIxFAST16, PRIxFAST32, PRIxFAST64, PRIxLEAST8, PRIxLEAST16, PRIxLEAST32, PRIxLEAST64, PRIxMAX, PRIxPTR,
96      PRIX8, PRIX16, PRIX32, PRIX64, PRIXFAST8, PRIXFAST16, PRIXFAST32, PRIXFAST64, PRIXLEAST8, PRIXLEAST16, PRIXLEAST32, PRIXLEAST64, PRIXMAX, PRIXPTR,
97      SCNd8, SCNd16, SCNd32, SCNd64, SCNdFAST8, SCNdFAST16, SCNdFAST32, SCNdFAST64, SCNdLEAST8, SCNdLEAST16, SCNdLEAST32, SCNdLEAST64, SCNdMAX, SCNdPTR,
98      SCNi8, SCNi16, SCNi32, SCNi64, SCNiFAST8, SCNiFAST16, SCNiFAST32, SCNiFAST64, SCNiLEAST8, SCNiLEAST16, SCNiLEAST32, SCNiLEAST64, SCNiMAX, SCNiPTR,
99      SCNo8, SCNo16, SCNo32, SCNo64, SCNoFAST8, SCNoFAST16, SCNoFAST32, SCNoFAST64, SCNoLEAST8, SCNoLEAST16, SCNoLEAST32, SCNoLEAST64, SCNoMAX, SCNoPTR,
100      SCNu8, SCNu16, SCNu32, SCNu64, SCNuFAST8, SCNuFAST16, SCNuFAST32, SCNuFAST64, SCNuLEAST8, SCNuLEAST16, SCNuLEAST32, SCNuLEAST64, SCNuMAX, SCNuPTR,
101      SCNx8, SCNx16, SCNx32, SCNx64, SCNxFAST8, SCNxFAST16, SCNxFAST32, SCNxFAST64, SCNxLEAST8, SCNxLEAST16, SCNxLEAST32, SCNxLEAST64, SCNxMAX, SCNxPTR,
102      SCNX8, SCNX16, SCNX32, SCNX64, SCNXFAST8, SCNXFAST16, SCNXFAST32, SCNXFAST64, SCNXLEAST8, SCNXLEAST16, SCNXLEAST32, SCNXLEAST64, SCNXMAX, SCNXPTR
103*/
104    export *
105  }
106  module ciso646 {
107    header "ciso646"
108    export *
109  }
110  module climits {
111    header "climits"
112/*
113    export_macros CHAR_BIT,  CHAR_MIN,  CHAR_MAX,
114                  SCHAR_MIN, SCHAR_MAX, UCHAR_MAX,
115                  SHRT_MIN,  SHRT_MAX,  USHRT_MAX,
116                  INT_MIN,   INT_MAX,   UINT_MAX,
117                  LONG_MIN,  LONG_MAX,  ULONG_MAX,
118                  LLONG_MIN, LLONG_MAX, ULLONG_MAX,
119                  MB_LEN_MAX
120*/
121    export *
122  }
123  module clocale {
124    header "clocale"
125/*
126    export_macros LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME, NULL
127*/
128    export *
129  }
130  module cmath {
131    header "cmath"
132/*
133    export_macros FP_FAST_FMA, FP_FAST_FMAF, FP_FAST_FMAL, FP_ILOGBO, FP_ILOGBNAN,
134                  FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO,
135                  HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, NAN,
136                  MATH_ERRNO, MATH_ERREXCEPT, math_errhandling
137*/
138    export *
139  }
140  module codecvt {
141    header "codecvt"
142    export *
143  }
144  module complex {
145    header "complex"
146    export *
147  }
148  module condition_variable {
149    header "condition_variable"
150    export *
151  }
152  module csetjmp {
153    header "csetjmp"
154/*
155    export_macros setjmp
156*/
157    export *
158  }
159  module csignal {
160    header "csignal"
161/*
162    export_macros SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM,
163                  SIG_DFL, SIG_IGN, SIG_ERR
164*/
165    export *
166  }
167  module cstdarg {
168    header "cstdarg"
169/*
170    export_macros va_arg, va_start, va_end, va_copy
171*/
172    export *
173  }
174  module cstdbool {
175    header "cstdbool"
176/*
177    export_macros __bool_true_false_are_defined
178*/
179    export *
180  }
181  module cstddef {
182    header "cstddef"
183/*
184    export_macros NULL, offsetof
185*/
186    export *
187  }
188  module cstdint {
189    header "cstdint"
190/*
191    export_macros
192      INT_8_MIN, INT_8_MAX, UINT_8_MAX, INT_16_MIN, INT_16_MAX, UINT_16_MAX,
193      INT_32_MIN, INT_32_MAX, UINT_32_MAX, INT_64_MIN, INT_64_MAX, UINT_64_MAX,
194      INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX,
195      INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX,
196      INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX,
197      INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
198      INT_MAX_MIN, INT_MAX_MAX, UINT_MAX_MAX, INT_PTR_MIN, INT_PTR_MAX, UINT_PTR_MAX,
199      PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX,
200      SIZE_MAX
201*/
202    export *
203  }
204  module cstdio {
205    header "cstdio"
206/*
207    export_macros BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_tmpnam, NULL,
208                  SEEK_CUR, SEEK_END, SEEK_SET, TMP_MAX, _IOFBF, _IOLBF,
209                  stdin, stdout, stderr
210*/
211    export *
212  }
213  module cstdlib {
214    header "cstdlib"
215/*
216    export_macros RAND_MAX
217*/
218    export *
219  }
220  module cstring {
221    header "cstring"
222/*
223    export_macros NULL
224*/
225    export *
226  }
227  module ctgmath {
228    header "ctgmath"
229    export ccomplex
230    export cmath
231    export *
232  }
233  module ctime {
234    header "ctime"
235/*
236    export_macros NULL, CLOCKS_PER_SEC
237*/
238    export *
239  }
240  module cwchar {
241    header "cwchar"
242/*
243    export_macros NULL, WCHAR_MAX, WCHAR_MIN, WEOF
244*/
245    export *
246  }
247  module cwctype {
248    header "cwctype"
249/*
250    export_macros WEOF
251*/
252    export *
253  }
254  module deque {
255    header "deque"
256    export initializer_list
257    export *
258  }
259  module exception {
260    header "exception"
261    export *
262  }
263  module forward_list {
264    header "forward_list"
265    export initializer_list
266    export *
267  }
268  module fstream {
269    header "fstream"
270    export *
271  }
272  module functional {
273    header "functional"
274    export *
275  }
276  module future {
277    header "future"
278    export *
279  }
280  module initializer_list {
281    header "initializer_list"
282    export *
283  }
284  module iomanip {
285    header "iomanip"
286    export *
287  }
288  module ios {
289    header "ios"
290    export iosfwd
291    export *
292  }
293  module iosfwd {
294    header "iosfwd"
295    export *
296  }
297  module iostream {
298    header "iostream"
299    export ios
300    export streambuf
301    export istream
302    export ostream
303    export *
304  }
305  module istream {
306    header "istream"
307    // FIXME: should re-export ios, streambuf?
308    export *
309  }
310  module iterator {
311    header "iterator"
312    export *
313  }
314  module limits {
315    header "limits"
316    export *
317  }
318  module list {
319    header "list"
320    export initializer_list
321    export *
322  }
323  module locale {
324    header "locale"
325    export *
326  }
327  module map {
328    header "map"
329    export initializer_list
330    export *
331  }
332  module memory {
333    header "memory"
334    export *
335  }
336  module mutex {
337    header "mutex"
338    export *
339  }
340  module new {
341    header "new"
342    export *
343  }
344  module numeric {
345    header "numeric"
346    export *
347  }
348  module ostream {
349    header "ostream"
350    // FIXME: should re-export ios, streambuf?
351    export *
352  }
353  module queue {
354    header "queue"
355    export initializer_list
356    export *
357  }
358  module random {
359    header "random"
360    export initializer_list
361    export *
362  }
363  module ratio {
364    header "ratio"
365    export *
366  }
367  module regex {
368    header "regex"
369    export initializer_list
370    export *
371  }
372  module scoped_allocator {
373    header "scoped_allocator"
374    export *
375  }
376  module set {
377    header "set"
378    export initializer_list
379    export *
380  }
381  module sstream {
382    header "sstream"
383    // FIXME: should re-export istream, ostream, ios, streambuf, string?
384    export *
385  }
386  module stack {
387    header "stack"
388    export initializer_list
389    export *
390  }
391  module stdexcept {
392    header "stdexcept"
393    export *
394  }
395  module streambuf {
396    header "streambuf"
397    export *
398  }
399  module string {
400    header "string"
401    export initializer_list
402    export *
403  }
404  module strstream {
405    header "strstream"
406    requires !cplusplus11
407  }
408  module system_error {
409    header "system_error"
410    export *
411  }
412  module thread {
413    header "thread"
414    export *
415  }
416  module tuple {
417    header "tuple"
418    export *
419  }
420  module type_traits {
421    header "type_traits"
422    export *
423  }
424  module typeindex {
425    header "typeindex"
426    export *
427  }
428  module typeinfo {
429    header "typeinfo"
430    export *
431  }
432  module unordered_map {
433    header "unordered_map"
434    export initializer_list
435    export *
436  }
437  module unordered_set {
438    header "unordered_set"
439    export initializer_list
440    export *
441  }
442  module utility {
443    header "utility"
444    export initializer_list
445    export *
446  }
447  module valarray {
448    header "valarray"
449    export initializer_list
450    export *
451  }
452  module vector {
453    header "vector"
454    export initializer_list
455    export *
456  }
457
458  // FIXME: These should be private.
459  module __bit_reference { header "__bit_reference" export * }
460  module __config { header "__config" export * }
461  module __debug { header "__debug" export * }
462  module __functional_base { header "__functional_base" export * }
463  module __hash_table { header "__hash_table" export * }
464  module __locale { header "__locale" export * }
465  module __mutex_base { header "__mutex_base" export * }
466  module __split_buffer { header "__split_buffer" export * }
467  module __sso_allocator { header "__sso_allocator" export * }
468  module __std_stream { header "__std_stream" export * }
469  module __tree { header "__tree" export * }
470  module __tuple { header "__tuple" export * }
471  module __undef_min_max { header "__undef_min_max" export * }
472}
473