1*4d6fc14bSjoerg// define the module for __config outside of the top level 'std' module 2*4d6fc14bSjoerg// since __config may be included from C headers which may create an 3*4d6fc14bSjoerg// include cycle. 4*4d6fc14bSjoergmodule std_config [system] [extern_c] { 5*4d6fc14bSjoerg header "__config" 6*4d6fc14bSjoerg} 7*4d6fc14bSjoerg 8*4d6fc14bSjoergmodule std [system] { 9*4d6fc14bSjoerg export std_config 10*4d6fc14bSjoerg // FIXME: The standard does not require that each of these submodules 11*4d6fc14bSjoerg // re-exports its imported modules. We should provide an alternative form of 12*4d6fc14bSjoerg // export that issues a warning if a name from the submodule is used, and 13*4d6fc14bSjoerg // use that to provide a 'strict mode' for libc++. 14*4d6fc14bSjoerg 15*4d6fc14bSjoerg // Deprecated C-compatibility headers. These can all be included from within 16*4d6fc14bSjoerg // an 'extern "C"' context. 17*4d6fc14bSjoerg module depr [extern_c] { 18*4d6fc14bSjoerg // <assert.h> provided by C library. 19*4d6fc14bSjoerg module ctype_h { 20*4d6fc14bSjoerg header "ctype.h" 21*4d6fc14bSjoerg export * 22*4d6fc14bSjoerg } 23*4d6fc14bSjoerg module errno_h { 24*4d6fc14bSjoerg header "errno.h" 25*4d6fc14bSjoerg export * 26*4d6fc14bSjoerg } 27*4d6fc14bSjoerg module fenv_h { 28*4d6fc14bSjoerg header "fenv.h" 29*4d6fc14bSjoerg export * 30*4d6fc14bSjoerg } 31*4d6fc14bSjoerg // <float.h> provided by compiler or C library. 32*4d6fc14bSjoerg module inttypes_h { 33*4d6fc14bSjoerg header "inttypes.h" 34*4d6fc14bSjoerg export stdint_h 35*4d6fc14bSjoerg export * 36*4d6fc14bSjoerg } 37*4d6fc14bSjoerg // <iso646.h> provided by compiler. 38*4d6fc14bSjoerg // <limits.h> provided by compiler or C library. 39*4d6fc14bSjoerg module locale_h { 40*4d6fc14bSjoerg header "locale.h" 41*4d6fc14bSjoerg export * 42*4d6fc14bSjoerg } 43*4d6fc14bSjoerg module math_h { 44*4d6fc14bSjoerg header "math.h" 45*4d6fc14bSjoerg export * 46*4d6fc14bSjoerg } 47*4d6fc14bSjoerg module setjmp_h { 48*4d6fc14bSjoerg header "setjmp.h" 49*4d6fc14bSjoerg export * 50*4d6fc14bSjoerg } 51*4d6fc14bSjoerg // FIXME: <stdalign.h> is missing. 52*4d6fc14bSjoerg // <signal.h> provided by C library. 53*4d6fc14bSjoerg // <stdarg.h> provided by compiler. 54*4d6fc14bSjoerg // <stdbool.h> provided by compiler. 55*4d6fc14bSjoerg module stddef_h { 56*4d6fc14bSjoerg // <stddef.h>'s __need_* macros require textual inclusion. 57*4d6fc14bSjoerg textual header "stddef.h" 58*4d6fc14bSjoerg } 59*4d6fc14bSjoerg module stdint_h { 60*4d6fc14bSjoerg header "stdint.h" 61*4d6fc14bSjoerg export * 62*4d6fc14bSjoerg // FIXME: This module only exists on OS X and for some reason the 63*4d6fc14bSjoerg // wildcard above doesn't export it. 64*4d6fc14bSjoerg export Darwin.C.stdint 65*4d6fc14bSjoerg } 66*4d6fc14bSjoerg module stdio_h { 67*4d6fc14bSjoerg // <stdio.h>'s __need_* macros require textual inclusion. 68*4d6fc14bSjoerg textual header "stdio.h" 69*4d6fc14bSjoerg export * 70*4d6fc14bSjoerg export Darwin.C.stdio 71*4d6fc14bSjoerg } 72*4d6fc14bSjoerg module stdlib_h { 73*4d6fc14bSjoerg // <stdlib.h>'s __need_* macros require textual inclusion. 74*4d6fc14bSjoerg textual header "stdlib.h" 75*4d6fc14bSjoerg export * 76*4d6fc14bSjoerg } 77*4d6fc14bSjoerg module string_h { 78*4d6fc14bSjoerg header "string.h" 79*4d6fc14bSjoerg export * 80*4d6fc14bSjoerg } 81*4d6fc14bSjoerg // FIXME: <uchar.h> is missing. 82*4d6fc14bSjoerg // <time.h> provided by C library. 83*4d6fc14bSjoerg module wchar_h { 84*4d6fc14bSjoerg // <wchar.h>'s __need_* macros require textual inclusion. 85*4d6fc14bSjoerg textual header "wchar.h" 86*4d6fc14bSjoerg export * 87*4d6fc14bSjoerg } 88*4d6fc14bSjoerg module wctype_h { 89*4d6fc14bSjoerg header "wctype.h" 90*4d6fc14bSjoerg export * 91*4d6fc14bSjoerg } 92*4d6fc14bSjoerg } 93*4d6fc14bSjoerg 94*4d6fc14bSjoerg // <complex.h> and <tgmath.h> are not C headers in any real sense, do not 95*4d6fc14bSjoerg // allow their use in extern "C" contexts. 96*4d6fc14bSjoerg module complex_h { 97*4d6fc14bSjoerg header "complex.h" 98*4d6fc14bSjoerg export ccomplex 99*4d6fc14bSjoerg export * 100*4d6fc14bSjoerg } 101*4d6fc14bSjoerg module tgmath_h { 102*4d6fc14bSjoerg header "tgmath.h" 103*4d6fc14bSjoerg export ccomplex 104*4d6fc14bSjoerg export cmath 105*4d6fc14bSjoerg export * 106*4d6fc14bSjoerg } 107*4d6fc14bSjoerg 108*4d6fc14bSjoerg // C compatibility headers. 109*4d6fc14bSjoerg module compat { 110*4d6fc14bSjoerg module cassert { 111*4d6fc14bSjoerg // <cassert>'s use of NDEBUG requires textual inclusion. 112*4d6fc14bSjoerg textual header "cassert" 113*4d6fc14bSjoerg } 114*4d6fc14bSjoerg module ccomplex { 115*4d6fc14bSjoerg header "ccomplex" 116*4d6fc14bSjoerg export complex 117*4d6fc14bSjoerg export * 118*4d6fc14bSjoerg } 119*4d6fc14bSjoerg module cctype { 120*4d6fc14bSjoerg header "cctype" 121*4d6fc14bSjoerg export * 122*4d6fc14bSjoerg } 123*4d6fc14bSjoerg module cerrno { 124*4d6fc14bSjoerg header "cerrno" 125*4d6fc14bSjoerg export * 126*4d6fc14bSjoerg } 127*4d6fc14bSjoerg module cfenv { 128*4d6fc14bSjoerg header "cfenv" 129*4d6fc14bSjoerg export * 130*4d6fc14bSjoerg } 131*4d6fc14bSjoerg module cfloat { 132*4d6fc14bSjoerg header "cfloat" 133*4d6fc14bSjoerg export * 134*4d6fc14bSjoerg } 135*4d6fc14bSjoerg module cinttypes { 136*4d6fc14bSjoerg header "cinttypes" 137*4d6fc14bSjoerg export cstdint 138*4d6fc14bSjoerg export * 139*4d6fc14bSjoerg } 140*4d6fc14bSjoerg module ciso646 { 141*4d6fc14bSjoerg header "ciso646" 142*4d6fc14bSjoerg export * 143*4d6fc14bSjoerg } 144*4d6fc14bSjoerg module climits { 145*4d6fc14bSjoerg header "climits" 146*4d6fc14bSjoerg export * 147*4d6fc14bSjoerg } 148*4d6fc14bSjoerg module clocale { 149*4d6fc14bSjoerg header "clocale" 150*4d6fc14bSjoerg export * 151*4d6fc14bSjoerg } 152*4d6fc14bSjoerg module cmath { 153*4d6fc14bSjoerg header "cmath" 154*4d6fc14bSjoerg export * 155*4d6fc14bSjoerg } 156*4d6fc14bSjoerg module csetjmp { 157*4d6fc14bSjoerg header "csetjmp" 158*4d6fc14bSjoerg export * 159*4d6fc14bSjoerg } 160*4d6fc14bSjoerg module csignal { 161*4d6fc14bSjoerg header "csignal" 162*4d6fc14bSjoerg export * 163*4d6fc14bSjoerg } 164*4d6fc14bSjoerg // FIXME: <cstdalign> is missing. 165*4d6fc14bSjoerg module cstdarg { 166*4d6fc14bSjoerg header "cstdarg" 167*4d6fc14bSjoerg export * 168*4d6fc14bSjoerg } 169*4d6fc14bSjoerg module cstdbool { 170*4d6fc14bSjoerg header "cstdbool" 171*4d6fc14bSjoerg export * 172*4d6fc14bSjoerg } 173*4d6fc14bSjoerg module cstddef { 174*4d6fc14bSjoerg header "cstddef" 175*4d6fc14bSjoerg export * 176*4d6fc14bSjoerg } 177*4d6fc14bSjoerg module cstdint { 178*4d6fc14bSjoerg header "cstdint" 179*4d6fc14bSjoerg export depr.stdint_h 180*4d6fc14bSjoerg export * 181*4d6fc14bSjoerg } 182*4d6fc14bSjoerg module cstdio { 183*4d6fc14bSjoerg header "cstdio" 184*4d6fc14bSjoerg export * 185*4d6fc14bSjoerg } 186*4d6fc14bSjoerg module cstdlib { 187*4d6fc14bSjoerg header "cstdlib" 188*4d6fc14bSjoerg export * 189*4d6fc14bSjoerg } 190*4d6fc14bSjoerg module cstring { 191*4d6fc14bSjoerg header "cstring" 192*4d6fc14bSjoerg export * 193*4d6fc14bSjoerg } 194*4d6fc14bSjoerg module ctgmath { 195*4d6fc14bSjoerg header "ctgmath" 196*4d6fc14bSjoerg export ccomplex 197*4d6fc14bSjoerg export cmath 198*4d6fc14bSjoerg export * 199*4d6fc14bSjoerg } 200*4d6fc14bSjoerg module ctime { 201*4d6fc14bSjoerg header "ctime" 202*4d6fc14bSjoerg export * 203*4d6fc14bSjoerg } 204*4d6fc14bSjoerg // FIXME: <cuchar> is missing. 205*4d6fc14bSjoerg module cwchar { 206*4d6fc14bSjoerg header "cwchar" 207*4d6fc14bSjoerg export depr.stdio_h 208*4d6fc14bSjoerg export * 209*4d6fc14bSjoerg } 210*4d6fc14bSjoerg module cwctype { 211*4d6fc14bSjoerg header "cwctype" 212*4d6fc14bSjoerg export * 213*4d6fc14bSjoerg } 214*4d6fc14bSjoerg } 215*4d6fc14bSjoerg 216*4d6fc14bSjoerg module algorithm { 217*4d6fc14bSjoerg header "algorithm" 218*4d6fc14bSjoerg export initializer_list 219*4d6fc14bSjoerg export * 220*4d6fc14bSjoerg } 221*4d6fc14bSjoerg module any { 222*4d6fc14bSjoerg header "any" 223*4d6fc14bSjoerg export * 224*4d6fc14bSjoerg } 225*4d6fc14bSjoerg module array { 226*4d6fc14bSjoerg header "array" 227*4d6fc14bSjoerg export initializer_list 228*4d6fc14bSjoerg export * 229*4d6fc14bSjoerg } 230*4d6fc14bSjoerg module atomic { 231*4d6fc14bSjoerg header "atomic" 232*4d6fc14bSjoerg export * 233*4d6fc14bSjoerg } 234*4d6fc14bSjoerg module barrier { 235*4d6fc14bSjoerg requires cplusplus14 236*4d6fc14bSjoerg header "barrier" 237*4d6fc14bSjoerg export * 238*4d6fc14bSjoerg } 239*4d6fc14bSjoerg module bit { 240*4d6fc14bSjoerg header "bit" 241*4d6fc14bSjoerg export * 242*4d6fc14bSjoerg } 243*4d6fc14bSjoerg module bitset { 244*4d6fc14bSjoerg header "bitset" 245*4d6fc14bSjoerg export string 246*4d6fc14bSjoerg export iosfwd 247*4d6fc14bSjoerg export * 248*4d6fc14bSjoerg } 249*4d6fc14bSjoerg // No submodule for cassert. It fundamentally needs repeated, textual inclusion. 250*4d6fc14bSjoerg module charconv { 251*4d6fc14bSjoerg header "charconv" 252*4d6fc14bSjoerg export * 253*4d6fc14bSjoerg } 254*4d6fc14bSjoerg module chrono { 255*4d6fc14bSjoerg header "chrono" 256*4d6fc14bSjoerg export * 257*4d6fc14bSjoerg } 258*4d6fc14bSjoerg module codecvt { 259*4d6fc14bSjoerg header "codecvt" 260*4d6fc14bSjoerg export * 261*4d6fc14bSjoerg } 262*4d6fc14bSjoerg module compare { 263*4d6fc14bSjoerg header "compare" 264*4d6fc14bSjoerg export * 265*4d6fc14bSjoerg } 266*4d6fc14bSjoerg module complex { 267*4d6fc14bSjoerg header "complex" 268*4d6fc14bSjoerg export * 269*4d6fc14bSjoerg } 270*4d6fc14bSjoerg module concepts { 271*4d6fc14bSjoerg header "concepts" 272*4d6fc14bSjoerg export * 273*4d6fc14bSjoerg } 274*4d6fc14bSjoerg module condition_variable { 275*4d6fc14bSjoerg header "condition_variable" 276*4d6fc14bSjoerg export * 277*4d6fc14bSjoerg } 278*4d6fc14bSjoerg module deque { 279*4d6fc14bSjoerg header "deque" 280*4d6fc14bSjoerg export initializer_list 281*4d6fc14bSjoerg export * 282*4d6fc14bSjoerg } 283*4d6fc14bSjoerg module exception { 284*4d6fc14bSjoerg header "exception" 285*4d6fc14bSjoerg export * 286*4d6fc14bSjoerg } 287*4d6fc14bSjoerg module execution { 288*4d6fc14bSjoerg header "execution" 289*4d6fc14bSjoerg export * 290*4d6fc14bSjoerg } 291*4d6fc14bSjoerg module filesystem { 292*4d6fc14bSjoerg header "filesystem" 293*4d6fc14bSjoerg export * 294*4d6fc14bSjoerg } 295*4d6fc14bSjoerg module format { 296*4d6fc14bSjoerg header "format" 297*4d6fc14bSjoerg export * 298*4d6fc14bSjoerg } 299*4d6fc14bSjoerg module forward_list { 300*4d6fc14bSjoerg header "forward_list" 301*4d6fc14bSjoerg export initializer_list 302*4d6fc14bSjoerg export * 303*4d6fc14bSjoerg } 304*4d6fc14bSjoerg module fstream { 305*4d6fc14bSjoerg header "fstream" 306*4d6fc14bSjoerg export * 307*4d6fc14bSjoerg } 308*4d6fc14bSjoerg module functional { 309*4d6fc14bSjoerg header "functional" 310*4d6fc14bSjoerg export * 311*4d6fc14bSjoerg } 312*4d6fc14bSjoerg module future { 313*4d6fc14bSjoerg header "future" 314*4d6fc14bSjoerg export * 315*4d6fc14bSjoerg } 316*4d6fc14bSjoerg module initializer_list { 317*4d6fc14bSjoerg header "initializer_list" 318*4d6fc14bSjoerg export * 319*4d6fc14bSjoerg } 320*4d6fc14bSjoerg module iomanip { 321*4d6fc14bSjoerg header "iomanip" 322*4d6fc14bSjoerg export * 323*4d6fc14bSjoerg } 324*4d6fc14bSjoerg module ios { 325*4d6fc14bSjoerg header "ios" 326*4d6fc14bSjoerg export iosfwd 327*4d6fc14bSjoerg export * 328*4d6fc14bSjoerg } 329*4d6fc14bSjoerg module iosfwd { 330*4d6fc14bSjoerg header "iosfwd" 331*4d6fc14bSjoerg export * 332*4d6fc14bSjoerg } 333*4d6fc14bSjoerg module iostream { 334*4d6fc14bSjoerg header "iostream" 335*4d6fc14bSjoerg export ios 336*4d6fc14bSjoerg export streambuf 337*4d6fc14bSjoerg export istream 338*4d6fc14bSjoerg export ostream 339*4d6fc14bSjoerg export * 340*4d6fc14bSjoerg } 341*4d6fc14bSjoerg module istream { 342*4d6fc14bSjoerg header "istream" 343*4d6fc14bSjoerg // FIXME: should re-export ios, streambuf? 344*4d6fc14bSjoerg export * 345*4d6fc14bSjoerg } 346*4d6fc14bSjoerg module iterator { 347*4d6fc14bSjoerg header "iterator" 348*4d6fc14bSjoerg export * 349*4d6fc14bSjoerg } 350*4d6fc14bSjoerg module latch { 351*4d6fc14bSjoerg requires cplusplus14 352*4d6fc14bSjoerg header "latch" 353*4d6fc14bSjoerg export * 354*4d6fc14bSjoerg } 355*4d6fc14bSjoerg module limits { 356*4d6fc14bSjoerg header "limits" 357*4d6fc14bSjoerg export * 358*4d6fc14bSjoerg } 359*4d6fc14bSjoerg module list { 360*4d6fc14bSjoerg header "list" 361*4d6fc14bSjoerg export initializer_list 362*4d6fc14bSjoerg export * 363*4d6fc14bSjoerg } 364*4d6fc14bSjoerg module locale { 365*4d6fc14bSjoerg header "locale" 366*4d6fc14bSjoerg export * 367*4d6fc14bSjoerg } 368*4d6fc14bSjoerg module map { 369*4d6fc14bSjoerg header "map" 370*4d6fc14bSjoerg export initializer_list 371*4d6fc14bSjoerg export * 372*4d6fc14bSjoerg } 373*4d6fc14bSjoerg module memory { 374*4d6fc14bSjoerg header "memory" 375*4d6fc14bSjoerg export * 376*4d6fc14bSjoerg } 377*4d6fc14bSjoerg module mutex { 378*4d6fc14bSjoerg header "mutex" 379*4d6fc14bSjoerg export * 380*4d6fc14bSjoerg } 381*4d6fc14bSjoerg module new { 382*4d6fc14bSjoerg header "new" 383*4d6fc14bSjoerg export * 384*4d6fc14bSjoerg } 385*4d6fc14bSjoerg module numbers { 386*4d6fc14bSjoerg header "numbers" 387*4d6fc14bSjoerg export * 388*4d6fc14bSjoerg } 389*4d6fc14bSjoerg module numeric { 390*4d6fc14bSjoerg header "numeric" 391*4d6fc14bSjoerg export * 392*4d6fc14bSjoerg } 393*4d6fc14bSjoerg module optional { 394*4d6fc14bSjoerg header "optional" 395*4d6fc14bSjoerg export * 396*4d6fc14bSjoerg } 397*4d6fc14bSjoerg module ostream { 398*4d6fc14bSjoerg header "ostream" 399*4d6fc14bSjoerg // FIXME: should re-export ios, streambuf? 400*4d6fc14bSjoerg export * 401*4d6fc14bSjoerg } 402*4d6fc14bSjoerg module queue { 403*4d6fc14bSjoerg header "queue" 404*4d6fc14bSjoerg export initializer_list 405*4d6fc14bSjoerg export * 406*4d6fc14bSjoerg } 407*4d6fc14bSjoerg module random { 408*4d6fc14bSjoerg header "random" 409*4d6fc14bSjoerg export initializer_list 410*4d6fc14bSjoerg export * 411*4d6fc14bSjoerg } 412*4d6fc14bSjoerg module ranges { 413*4d6fc14bSjoerg header "ranges" 414*4d6fc14bSjoerg export compare 415*4d6fc14bSjoerg export initializer_list 416*4d6fc14bSjoerg export iterator 417*4d6fc14bSjoerg export * 418*4d6fc14bSjoerg } 419*4d6fc14bSjoerg module ratio { 420*4d6fc14bSjoerg header "ratio" 421*4d6fc14bSjoerg export * 422*4d6fc14bSjoerg } 423*4d6fc14bSjoerg module regex { 424*4d6fc14bSjoerg header "regex" 425*4d6fc14bSjoerg export initializer_list 426*4d6fc14bSjoerg export * 427*4d6fc14bSjoerg } 428*4d6fc14bSjoerg module scoped_allocator { 429*4d6fc14bSjoerg header "scoped_allocator" 430*4d6fc14bSjoerg export * 431*4d6fc14bSjoerg } 432*4d6fc14bSjoerg module semaphore { 433*4d6fc14bSjoerg requires cplusplus14 434*4d6fc14bSjoerg header "semaphore" 435*4d6fc14bSjoerg export * 436*4d6fc14bSjoerg } 437*4d6fc14bSjoerg module set { 438*4d6fc14bSjoerg header "set" 439*4d6fc14bSjoerg export initializer_list 440*4d6fc14bSjoerg export * 441*4d6fc14bSjoerg } 442*4d6fc14bSjoerg module sstream { 443*4d6fc14bSjoerg header "sstream" 444*4d6fc14bSjoerg // FIXME: should re-export istream, ostream, ios, streambuf, string? 445*4d6fc14bSjoerg export * 446*4d6fc14bSjoerg } 447*4d6fc14bSjoerg module stack { 448*4d6fc14bSjoerg header "stack" 449*4d6fc14bSjoerg export initializer_list 450*4d6fc14bSjoerg export * 451*4d6fc14bSjoerg } 452*4d6fc14bSjoerg module stdexcept { 453*4d6fc14bSjoerg header "stdexcept" 454*4d6fc14bSjoerg export * 455*4d6fc14bSjoerg } 456*4d6fc14bSjoerg module streambuf { 457*4d6fc14bSjoerg header "streambuf" 458*4d6fc14bSjoerg export * 459*4d6fc14bSjoerg } 460*4d6fc14bSjoerg module string { 461*4d6fc14bSjoerg header "string" 462*4d6fc14bSjoerg export initializer_list 463*4d6fc14bSjoerg export string_view 464*4d6fc14bSjoerg export __string 465*4d6fc14bSjoerg export * 466*4d6fc14bSjoerg } 467*4d6fc14bSjoerg module string_view { 468*4d6fc14bSjoerg header "string_view" 469*4d6fc14bSjoerg export initializer_list 470*4d6fc14bSjoerg export __string 471*4d6fc14bSjoerg export * 472*4d6fc14bSjoerg } 473*4d6fc14bSjoerg module strstream { 474*4d6fc14bSjoerg header "strstream" 475*4d6fc14bSjoerg export * 476*4d6fc14bSjoerg } 477*4d6fc14bSjoerg module system_error { 478*4d6fc14bSjoerg header "system_error" 479*4d6fc14bSjoerg export * 480*4d6fc14bSjoerg } 481*4d6fc14bSjoerg module thread { 482*4d6fc14bSjoerg header "thread" 483*4d6fc14bSjoerg export * 484*4d6fc14bSjoerg } 485*4d6fc14bSjoerg module tuple { 486*4d6fc14bSjoerg header "tuple" 487*4d6fc14bSjoerg export * 488*4d6fc14bSjoerg } 489*4d6fc14bSjoerg module type_traits { 490*4d6fc14bSjoerg header "type_traits" 491*4d6fc14bSjoerg export * 492*4d6fc14bSjoerg } 493*4d6fc14bSjoerg module typeindex { 494*4d6fc14bSjoerg header "typeindex" 495*4d6fc14bSjoerg export * 496*4d6fc14bSjoerg } 497*4d6fc14bSjoerg module typeinfo { 498*4d6fc14bSjoerg header "typeinfo" 499*4d6fc14bSjoerg export * 500*4d6fc14bSjoerg } 501*4d6fc14bSjoerg module unordered_map { 502*4d6fc14bSjoerg header "unordered_map" 503*4d6fc14bSjoerg export initializer_list 504*4d6fc14bSjoerg export * 505*4d6fc14bSjoerg } 506*4d6fc14bSjoerg module unordered_set { 507*4d6fc14bSjoerg header "unordered_set" 508*4d6fc14bSjoerg export initializer_list 509*4d6fc14bSjoerg export * 510*4d6fc14bSjoerg } 511*4d6fc14bSjoerg module utility { 512*4d6fc14bSjoerg header "utility" 513*4d6fc14bSjoerg export initializer_list 514*4d6fc14bSjoerg export * 515*4d6fc14bSjoerg } 516*4d6fc14bSjoerg module valarray { 517*4d6fc14bSjoerg header "valarray" 518*4d6fc14bSjoerg export initializer_list 519*4d6fc14bSjoerg export * 520*4d6fc14bSjoerg } 521*4d6fc14bSjoerg module variant { 522*4d6fc14bSjoerg header "variant" 523*4d6fc14bSjoerg export * 524*4d6fc14bSjoerg } 525*4d6fc14bSjoerg module vector { 526*4d6fc14bSjoerg header "vector" 527*4d6fc14bSjoerg export initializer_list 528*4d6fc14bSjoerg export * 529*4d6fc14bSjoerg } 530*4d6fc14bSjoerg module version { 531*4d6fc14bSjoerg header "version" 532*4d6fc14bSjoerg export * 533*4d6fc14bSjoerg } 534*4d6fc14bSjoerg 535*4d6fc14bSjoerg // FIXME: These should be private. 536*4d6fc14bSjoerg module __bits { header "__bits" export * } 537*4d6fc14bSjoerg module __bit_reference { header "__bit_reference" export * } 538*4d6fc14bSjoerg module __debug { header "__debug" export * } 539*4d6fc14bSjoerg module __errc { header "__errc" export * } 540*4d6fc14bSjoerg module __functional_base { header "__functional_base" export * } 541*4d6fc14bSjoerg module __hash_table { header "__hash_table" export * } 542*4d6fc14bSjoerg module __locale { header "__locale" export * } 543*4d6fc14bSjoerg module __mutex_base { header "__mutex_base" export * } 544*4d6fc14bSjoerg module __split_buffer { header "__split_buffer" export * } 545*4d6fc14bSjoerg module __std_stream { header "__std_stream" export * } 546*4d6fc14bSjoerg module __string { header "__string" export * } 547*4d6fc14bSjoerg module __tree { header "__tree" export * } 548*4d6fc14bSjoerg module __tuple { header "__tuple" export * } 549*4d6fc14bSjoerg module __undef_macros { header "__undef_macros" export * } 550*4d6fc14bSjoerg module __node_handle { header "__node_handle" export * } 551*4d6fc14bSjoerg 552*4d6fc14bSjoerg module experimental { 553*4d6fc14bSjoerg requires cplusplus11 554*4d6fc14bSjoerg 555*4d6fc14bSjoerg module algorithm { 556*4d6fc14bSjoerg header "experimental/algorithm" 557*4d6fc14bSjoerg export * 558*4d6fc14bSjoerg } 559*4d6fc14bSjoerg module coroutine { 560*4d6fc14bSjoerg requires coroutines 561*4d6fc14bSjoerg header "experimental/coroutine" 562*4d6fc14bSjoerg export * 563*4d6fc14bSjoerg } 564*4d6fc14bSjoerg module deque { 565*4d6fc14bSjoerg header "experimental/deque" 566*4d6fc14bSjoerg export * 567*4d6fc14bSjoerg } 568*4d6fc14bSjoerg module filesystem { 569*4d6fc14bSjoerg header "experimental/filesystem" 570*4d6fc14bSjoerg export * 571*4d6fc14bSjoerg } 572*4d6fc14bSjoerg module forward_list { 573*4d6fc14bSjoerg header "experimental/forward_list" 574*4d6fc14bSjoerg export * 575*4d6fc14bSjoerg } 576*4d6fc14bSjoerg module functional { 577*4d6fc14bSjoerg header "experimental/functional" 578*4d6fc14bSjoerg export * 579*4d6fc14bSjoerg } 580*4d6fc14bSjoerg module iterator { 581*4d6fc14bSjoerg header "experimental/iterator" 582*4d6fc14bSjoerg export * 583*4d6fc14bSjoerg } 584*4d6fc14bSjoerg module list { 585*4d6fc14bSjoerg header "experimental/list" 586*4d6fc14bSjoerg export * 587*4d6fc14bSjoerg } 588*4d6fc14bSjoerg module map { 589*4d6fc14bSjoerg header "experimental/map" 590*4d6fc14bSjoerg export * 591*4d6fc14bSjoerg } 592*4d6fc14bSjoerg module memory_resource { 593*4d6fc14bSjoerg header "experimental/memory_resource" 594*4d6fc14bSjoerg export * 595*4d6fc14bSjoerg } 596*4d6fc14bSjoerg module propagate_const { 597*4d6fc14bSjoerg header "experimental/propagate_const" 598*4d6fc14bSjoerg export * 599*4d6fc14bSjoerg } 600*4d6fc14bSjoerg module regex { 601*4d6fc14bSjoerg header "experimental/regex" 602*4d6fc14bSjoerg export * 603*4d6fc14bSjoerg } 604*4d6fc14bSjoerg module simd { 605*4d6fc14bSjoerg header "experimental/simd" 606*4d6fc14bSjoerg export * 607*4d6fc14bSjoerg } 608*4d6fc14bSjoerg module set { 609*4d6fc14bSjoerg header "experimental/set" 610*4d6fc14bSjoerg export * 611*4d6fc14bSjoerg } 612*4d6fc14bSjoerg module span { 613*4d6fc14bSjoerg header "span" 614*4d6fc14bSjoerg export * 615*4d6fc14bSjoerg } 616*4d6fc14bSjoerg module string { 617*4d6fc14bSjoerg header "experimental/string" 618*4d6fc14bSjoerg export * 619*4d6fc14bSjoerg } 620*4d6fc14bSjoerg module type_traits { 621*4d6fc14bSjoerg header "experimental/type_traits" 622*4d6fc14bSjoerg export * 623*4d6fc14bSjoerg } 624*4d6fc14bSjoerg module unordered_map { 625*4d6fc14bSjoerg header "experimental/unordered_map" 626*4d6fc14bSjoerg export * 627*4d6fc14bSjoerg } 628*4d6fc14bSjoerg module unordered_set { 629*4d6fc14bSjoerg header "experimental/unordered_set" 630*4d6fc14bSjoerg export * 631*4d6fc14bSjoerg } 632*4d6fc14bSjoerg module utility { 633*4d6fc14bSjoerg header "experimental/utility" 634*4d6fc14bSjoerg export * 635*4d6fc14bSjoerg } 636*4d6fc14bSjoerg module vector { 637*4d6fc14bSjoerg header "experimental/vector" 638*4d6fc14bSjoerg export * 639*4d6fc14bSjoerg } 640*4d6fc14bSjoerg // FIXME these should be private 641*4d6fc14bSjoerg module __memory { 642*4d6fc14bSjoerg header "experimental/__memory" 643*4d6fc14bSjoerg export * 644*4d6fc14bSjoerg } 645*4d6fc14bSjoerg } // end experimental 646*4d6fc14bSjoerg} 647