This commit is contained in:
Victor Zverovich 2020-10-27 07:19:28 -07:00
parent 236fea1f00
commit 28a8eae850
3 changed files with 19 additions and 19 deletions

View File

@ -589,10 +589,10 @@ OutputIt vformat_to(
\endrst
*/
template <typename OutputIt, typename S, typename... Args,
bool enable = (detail::is_output_iterator<OutputIt, char_t<S>>::value&&
detail::is_string<S>::value)>
inline auto format_to(OutputIt out, const text_style& ts,
const S& format_str, Args&&... args) ->
bool enable = detail::is_output_iterator<OutputIt, char_t<S>>::value&&
detail::is_string<S>::value>
inline auto format_to(OutputIt out, const text_style& ts, const S& format_str,
Args&&... args) ->
typename std::enable_if<enable, OutputIt>::type {
return vformat_to(out, ts, to_string_view(format_str),
fmt::make_args_checked<Args...>(format_str, args...));

View File

@ -668,13 +668,14 @@ OutputIt format_to(OutputIt out, const S&, const Args&... args) {
}
template <typename OutputIt, typename CompiledFormat, typename... Args>
typename std::enable_if<(detail::is_output_iterator<
OutputIt, typename CompiledFormat::char_type>::value&&
std::is_base_of<detail::basic_compiled_format,
CompiledFormat>::value),
format_to_n_result<OutputIt>
>::type format_to_n(OutputIt out, size_t n,
const CompiledFormat& cf, const Args&... args) {
auto format_to_n(OutputIt out, size_t n, const CompiledFormat& cf,
const Args&... args) ->
typename std::enable_if<
detail::is_output_iterator<OutputIt,
typename CompiledFormat::char_type>::value &&
std::is_base_of<detail::basic_compiled_format,
CompiledFormat>::value,
format_to_n_result<OutputIt>>::type {
auto it =
format_to(detail::truncating_iterator<OutputIt>(out, n), cf, args...);
return {it.base(), it.count()};

View File

@ -3056,8 +3056,7 @@ struct format_handler : detail::error_handler {
basic_format_parse_context<Char> parse_context;
Context context;
format_handler(OutputIt out,
basic_string_view<Char> str,
format_handler(OutputIt out, basic_string_view<Char> str,
basic_format_args<Context> format_args, detail::locale_ref loc)
: parse_context(str), context(out, format_args, loc) {}
@ -3080,8 +3079,8 @@ struct format_handler : detail::error_handler {
FMT_INLINE void on_replacement_field(int id, const Char*) {
auto arg = get_arg(context, id);
context.advance_to(visit_format_arg(
default_arg_formatter<OutputIt, Char>{
context.out(), context.args(), context.locale()},
default_arg_formatter<OutputIt, Char>{context.out(), context.args(),
context.locale()},
arg));
}
@ -3105,8 +3104,8 @@ struct format_handler : detail::error_handler {
if (begin == end || *begin != '}')
on_error("missing '}' in format string");
}
context.advance_to(
visit_format_arg(arg_formatter<OutputIt, Char>(context, &parse_context, &specs), arg));
context.advance_to(visit_format_arg(
arg_formatter<OutputIt, Char>(context, &parse_context, &specs), arg));
return begin;
}
};
@ -3776,8 +3775,8 @@ void detail::vformat_to(
arg);
return;
}
format_handler<iterator, Char, buffer_context<Char>> h(
out, format_str, args, loc);
format_handler<iterator, Char, buffer_context<Char>> h(out, format_str, args,
loc);
parse_format_string<false>(format_str, h);
}