2 Formatting library for C++ - std::ostream support
4 Copyright (c) 2012 - 2016, Victor Zverovich
7 For the license information refer to format.h.
10 #include "fmt/ostream.h"
15 FMT_FUNC
void write(std::ostream
&os
, Writer
&w
) {
16 const char *data
= w
.data();
17 typedef internal::MakeUnsigned
<std::streamsize
>::Type UnsignedStreamSize
;
18 UnsignedStreamSize size
= w
.size();
19 UnsignedStreamSize max_size
=
20 internal::to_unsigned((std::numeric_limits
<std::streamsize
>::max
)());
22 UnsignedStreamSize n
= size
<= max_size
? size
: max_size
;
23 os
.write(data
, static_cast<std::streamsize
>(n
));
30 FMT_FUNC
void print(std::ostream
&os
, CStringRef format_str
, ArgList args
) {
32 w
.write(format_str
, args
);
33 internal::write(os
, w
);