2
0

fmt.cc 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. module;
  2. #ifndef __cpp_modules
  3. # error Module not supported.
  4. #endif
  5. // put all implementation-provided headers into the global module fragment
  6. // to prevent attachment to this module
  7. #if !defined(_CRT_SECURE_NO_WARNINGS) && defined(_MSC_VER)
  8. # define _CRT_SECURE_NO_WARNINGS
  9. #endif
  10. #if !defined(WIN32_LEAN_AND_MEAN) && defined(_WIN32)
  11. # define WIN32_LEAN_AND_MEAN
  12. #endif
  13. #include <algorithm>
  14. #include <cctype>
  15. #include <cerrno>
  16. #include <chrono>
  17. #include <climits>
  18. #include <clocale>
  19. #include <cmath>
  20. #include <cstdarg>
  21. #include <cstddef>
  22. #include <cstdint>
  23. #include <cstdio>
  24. #include <cstdlib>
  25. #include <cstring>
  26. #include <ctime>
  27. #include <cwchar>
  28. #include <exception>
  29. #include <functional>
  30. #include <iterator>
  31. #include <limits>
  32. #include <locale>
  33. #include <memory>
  34. #include <ostream>
  35. #include <sstream>
  36. #include <stdexcept>
  37. #include <string>
  38. #include <string_view>
  39. #include <system_error>
  40. #include <type_traits>
  41. #include <utility>
  42. #include <vector>
  43. #if _MSC_VER
  44. # include <intrin.h>
  45. #endif
  46. #if defined __APPLE__ || defined(__FreeBSD__)
  47. # include <xlocale.h>
  48. #endif
  49. #if __has_include(<winapifamily.h>)
  50. # include <winapifamily.h>
  51. #endif
  52. #if (__has_include(<fcntl.h>) || defined(__APPLE__) || \
  53. defined(__linux__)) && \
  54. (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP))
  55. # include <fcntl.h>
  56. # include <sys/stat.h>
  57. # include <sys/types.h>
  58. # ifndef _WIN32
  59. # include <unistd.h>
  60. # else
  61. # include <io.h>
  62. # endif
  63. #endif
  64. #ifdef _WIN32
  65. # include <windows.h>
  66. #endif
  67. export module fmt;
  68. #define FMT_MODULE_EXPORT export
  69. #define FMT_MODULE_EXPORT_BEGIN export {
  70. #define FMT_MODULE_EXPORT_END }
  71. #define FMT_BEGIN_DETAIL_NAMESPACE \
  72. } \
  73. namespace detail {
  74. #define FMT_END_DETAIL_NAMESPACE \
  75. } \
  76. export {
  77. // all library-provided declarations and definitions
  78. // must be in the module purview to be exported
  79. #include "fmt/args.h"
  80. #include "fmt/chrono.h"
  81. #include "fmt/color.h"
  82. #include "fmt/compile.h"
  83. #include "fmt/format.h"
  84. #include "fmt/os.h"
  85. #include "fmt/printf.h"
  86. #include "fmt/xchar.h"
  87. // gcc doesn't yet implement private module fragments
  88. #if !FMT_GCC_VERSION
  89. module : private;
  90. #endif
  91. #include "format.cc"
  92. #include "os.cc"