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