provide print overload for compiled format
This commit is contained in:
parent
45a1990bab
commit
30de36aefa
@ -128,12 +128,22 @@ void vprint(std::basic_ostream<Char>& os, basic_string_view<Char> format_str,
|
||||
fmt::print(cerr, "Don't {}!", "panic");
|
||||
\endrst
|
||||
*/
|
||||
template <typename S, typename... Args,
|
||||
typename Char = enable_if_t<internal::is_string<S>::value, char_t<S>>>
|
||||
template <typename S, typename... Args, typename Char = char_t<S>,
|
||||
FMT_ENABLE_IF(internal::is_string<S>::value)>
|
||||
void print(std::basic_ostream<Char>& os, const S& format_str, Args&&... args) {
|
||||
vprint(os, to_string_view(format_str),
|
||||
{internal::make_args_checked<Args...>(format_str, args...)});
|
||||
}
|
||||
|
||||
// fallback print overload for types that define char_t but are not strings
|
||||
// such as compiled format
|
||||
template <typename S, typename... Args, typename Char = char_t<S>,
|
||||
FMT_ENABLE_IF(!internal::is_string<S>::value)>
|
||||
void print(std::basic_ostream<Char>& os, const S& format, Args&&... args) {
|
||||
basic_memory_buffer<Char> buffer;
|
||||
format_to(std::back_inserter(buffer), format, args...);
|
||||
internal::write(os, buffer);
|
||||
}
|
||||
FMT_END_NAMESPACE
|
||||
|
||||
#endif // FMT_OSTREAM_H_
|
||||
|
||||
Loading…
Reference in New Issue
Block a user