diff --git a/include/fmt/printf.h b/include/fmt/printf.h index b4405b0c..40431019 100644 --- a/include/fmt/printf.h +++ b/include/fmt/printf.h @@ -580,9 +580,9 @@ using wprintf_args = basic_format_args; arguments and can be implicitly converted to `~fmt::printf_args`. \endrst */ -template -inline format_arg_store make_printf_args( - const Args&... args) { +template +inline auto make_printf_args(const T&... args) + -> format_arg_store { return {args...}; } @@ -592,18 +592,19 @@ inline format_arg_store make_printf_args( arguments and can be implicitly converted to `~fmt::wprintf_args`. \endrst */ -template -inline format_arg_store make_wprintf_args( - const Args&... args) { +template +inline auto make_wprintf_args(const T&... args) + -> format_arg_store { return {args...}; } template > -inline std::basic_string vsprintf( - const S& format, - basic_format_args>> args) { +inline auto vsprintf( + const S& fmt, + basic_format_args>> args) + -> std::basic_string { basic_memory_buffer buffer; - vprintf(buffer, to_string_view(format), args); + vprintf(buffer, to_string_view(fmt), args); return to_string(buffer); } @@ -616,19 +617,20 @@ inline std::basic_string vsprintf( std::string message = fmt::sprintf("The answer is %d", 42); \endrst */ -template ::value, char_t>> -inline std::basic_string sprintf(const S& format, const Args&... args) { +inline auto sprintf(const S& fmt, const T&... args) -> std::basic_string { using context = basic_printf_context_t; - return vsprintf(to_string_view(format), make_format_args(args...)); + return vsprintf(to_string_view(fmt), make_format_args(args...)); } template > -inline int vfprintf( - std::FILE* f, const S& format, - basic_format_args>> args) { +inline auto vfprintf( + std::FILE* f, const S& fmt, + basic_format_args>> args) + -> int { basic_memory_buffer buffer; - vprintf(buffer, to_string_view(format), args); + vprintf(buffer, to_string_view(fmt), args); size_t size = buffer.size(); return std::fwrite(buffer.data(), sizeof(Char), size, f) < size ? -1 @@ -644,19 +646,18 @@ inline int vfprintf( fmt::fprintf(stderr, "Don't %s!", "panic"); \endrst */ -template ::value, char_t>> -inline int fprintf(std::FILE* f, const S& format, const Args&... args) { +template > +inline auto fprintf(std::FILE* f, const S& fmt, const T&... args) -> int { using context = basic_printf_context_t; - return vfprintf(f, to_string_view(format), - make_format_args(args...)); + return vfprintf(f, to_string_view(fmt), make_format_args(args...)); } template > -inline int vprintf( - const S& format, - basic_format_args>> args) { - return vfprintf(stdout, to_string_view(format), args); +inline auto vprintf( + const S& fmt, + basic_format_args>> args) + -> int { + return vfprintf(stdout, to_string_view(fmt), args); } /** @@ -668,20 +669,19 @@ inline int vprintf( fmt::printf("Elapsed time: %.2f seconds", 1.23); \endrst */ -template ::value)> -inline int printf(const S& format_str, const Args&... args) { - using context = basic_printf_context_t>; - return vprintf(to_string_view(format_str), - make_format_args(args...)); +template ::value)> +inline auto printf(const S& fmt, const T&... args) -> int { + return vprintf(to_string_view(fmt), + make_format_args>>(args...)); } template > -inline int vfprintf( - std::basic_ostream& os, const S& format, - basic_format_args>> args) { +inline auto vfprintf( + std::basic_ostream& os, const S& fmt, + basic_format_args>> args) + -> int { basic_memory_buffer buffer; - vprintf(buffer, to_string_view(format), args); + vprintf(buffer, to_string_view(fmt), args); os.write(buffer.data(), static_cast(buffer.size())); return static_cast(buffer.size()); } @@ -695,12 +695,11 @@ inline int vfprintf( fmt::fprintf(cerr, "Don't %s!", "panic"); \endrst */ -template > -inline int fprintf(std::basic_ostream& os, const S& format_str, - const Args&... args) { - using context = basic_printf_context_t; - return vfprintf(os, to_string_view(format_str), - make_format_args(args...)); +template > +inline auto fprintf(std::basic_ostream& os, const S& fmt, + const T&... args) -> int { + return vfprintf(os, to_string_view(fmt), + make_format_args>(args...)); } FMT_MODULE_EXPORT_END