| 578 | |
| 579 | template <typename Char> |
| 580 | auto vfprintf(std::FILE* f, basic_string_view<Char> fmt, |
| 581 | typename vprintf_args<Char>::type args) -> int { |
| 582 | auto buf = basic_memory_buffer<Char>(); |
| 583 | detail::vprintf(buf, fmt, args); |
| 584 | size_t size = buf.size(); |
| 585 | return std::fwrite(buf.data(), sizeof(Char), size, f) < size |
| 586 | ? -1 |
| 587 | : static_cast<int>(size); |
| 588 | } |
| 589 | |
| 590 | /** |
| 591 | * Formats `args` according to specifications in `fmt` and writes the output |