@@ -141,6 +141,13 @@ auto format(wformat_string<T...> fmt, T&&... args) -> std::wstring {
141
141
return vformat (fmt::wstring_view (fmt), fmt::make_wformat_args (args...));
142
142
}
143
143
144
+ template <typename OutputIt, typename ... T>
145
+ auto format_to (OutputIt out, wformat_string<T...> fmt, T&&... args)
146
+ -> OutputIt {
147
+ return vformat_to (out, fmt::wstring_view (fmt),
148
+ fmt::make_wformat_args (args...));
149
+ }
150
+
144
151
// Pass char_t as a default template parameter instead of using
145
152
// std::basic_string<char_t<S>> to reduce the symbol size.
146
153
template <typename S, typename ... T,
@@ -186,8 +193,9 @@ auto vformat_to(OutputIt out, const S& format_str,
186
193
187
194
template <typename OutputIt, typename S, typename ... T,
188
195
typename Char = detail::format_string_char_t <S>,
189
- FMT_ENABLE_IF (detail::is_output_iterator<OutputIt, Char>::value&&
190
- detail::is_exotic_char<Char>::value)>
196
+ FMT_ENABLE_IF (detail::is_output_iterator<OutputIt, Char>::value &&
197
+ !std::is_same<Char, char >::value &&
198
+ !std::is_same<Char, wchar_t >::value)>
191
199
inline auto format_to(OutputIt out, const S& fmt, T&&... args) -> OutputIt {
192
200
return vformat_to (out, detail::to_string_view (fmt),
193
201
fmt::make_format_args<buffered_context<Char>>(args...));
0 commit comments