#include <format>
export module std:format;
-#if !defined(_LIBCPP_HAS_NO_INCOMPLETE_FORMAT)
export namespace std {
// [format.context], class template basic_format_context
using std::basic_format_context;
using std::format_context;
-# ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
using std::wformat_context;
-# endif
+#endif
// [format.args], class template basic_format_args
using std::basic_format_args;
using std::format_args;
-# ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
using std::wformat_args;
-# endif
+#endif
// [format.fmt.string], class template basic_format_string
using std::basic_format_string;
using std::format_string;
-# ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
using std::wformat_string;
-# endif
+#endif
// [format.functions], formatting functions
using std::format;
// [format.parse.ctx], class template basic_format_parse_context
using std::basic_format_parse_context;
using std::format_parse_context;
-# ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
using std::wformat_parse_context;
-# endif
+#endif
// [format.range], formatting of ranges
// [format.range.fmtkind], variable template format_kind
// [format.arg.store], class template format-arg-store
using std::make_format_args;
-# ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
using std::make_wformat_args;
-# endif
+#endif
// [format.error], class format_error
using std::format_error;
} // namespace std
-#endif // !defined(_LIBCPP_HAS_NO_INCOMPLETE_FORMAT)
export module std:iosfwd;
export namespace std {
- // All symbols are exported by other modules.
+ using std::streampos;
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+ using std::wstreampos;
+#endif
+ using std::u16streampos;
+ using std::u32streampos;
+ using std::u8streampos;
+
+ using std::istreambuf_iterator;
+ using std::ostreambuf_iterator;
+
+ using std::fpos;
} // namespace std
//===----------------------------------------------------------------------===//
module;
-#if __has_include(<stop_token>) // D145183 contains a patch for this header
-# error "include this header unconditionally and uncomment the exported symbols"
-# include <stop_token>
-#endif
+#include <stop_token>
export module std:stop_token;
export namespace std {
-#if 0
// [stoptoken], class stop_token
using std::stop_token;
// [stopcallback], class template stop_callback
using std::stop_callback;
-#endif
} // namespace std