1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| /*
| Formatting library for C++
|
| Copyright (c) 2012 - 2016, Victor Zverovich
| All rights reserved.
|
| For the license information refer to format.h.
| */
|
| #include "format.h"
| #include "printf.h"
|
| namespace fmt {
|
| template <typename Char>
| void printf(BasicWriter<Char> &w, BasicCStringRef<Char> format, ArgList args);
|
| FMT_FUNC int fprintf(std::FILE *f, CStringRef format, ArgList args) {
| MemoryWriter w;
| printf(w, format, args);
| std::size_t size = w.size();
| return std::fwrite(w.data(), 1, size, f) < size ? -1 : static_cast<int>(size);
| }
|
| #ifndef FMT_HEADER_ONLY
|
| template void PrintfFormatter<char>::format(CStringRef format);
| template void PrintfFormatter<wchar_t>::format(WCStringRef format);
|
| #endif // FMT_HEADER_ONLY
|
| } // namespace fmt
|
|