Merge branch 'master' of github.com:cppformat/cppformat
This commit is contained in:
commit
8b0504825d
@ -882,6 +882,13 @@ FMT_FUNC int fmt::fprintf(std::FILE *f, CStringRef format, ArgList args) {
|
|||||||
return std::fwrite(w.data(), 1, size, f) < size ? -1 : static_cast<int>(size);
|
return std::fwrite(w.data(), 1, size, f) < size ? -1 : static_cast<int>(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FMT_FUNC int fmt::fprintf(std::ostream &os, CStringRef format, ArgList args) {
|
||||||
|
MemoryWriter w;
|
||||||
|
printf(w, format, args);
|
||||||
|
os.write(w.data(), w.size());
|
||||||
|
return static_cast<int>(w.size());
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef FMT_HEADER_ONLY
|
#ifndef FMT_HEADER_ONLY
|
||||||
|
|
||||||
template struct fmt::internal::BasicData<void>;
|
template struct fmt::internal::BasicData<void>;
|
||||||
|
12
format.h
12
format.h
@ -3366,6 +3366,18 @@ FMT_VARIADIC(int, fprintf, std::FILE *, CStringRef)
|
|||||||
*/
|
*/
|
||||||
FMT_API void print(std::ostream &os, CStringRef format_str, ArgList args);
|
FMT_API void print(std::ostream &os, CStringRef format_str, ArgList args);
|
||||||
FMT_VARIADIC(void, print, std::ostream &, CStringRef)
|
FMT_VARIADIC(void, print, std::ostream &, CStringRef)
|
||||||
|
|
||||||
|
/**
|
||||||
|
\rst
|
||||||
|
Prints formatted data to the stream *os*.
|
||||||
|
|
||||||
|
**Example**::
|
||||||
|
|
||||||
|
fprintf(cerr, "Don't %s!", "panic");
|
||||||
|
\endrst
|
||||||
|
*/
|
||||||
|
FMT_API int fprintf(std::ostream &os, CStringRef format_str, ArgList args);
|
||||||
|
FMT_VARIADIC(int, fprintf, std::ostream &, CStringRef)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
@ -476,3 +476,10 @@ TEST(PrintfTest, PrintfError) {
|
|||||||
TEST(PrintfTest, WideString) {
|
TEST(PrintfTest, WideString) {
|
||||||
EXPECT_EQ(L"abc", fmt::sprintf(L"%s", TestWString(L"abc")));
|
EXPECT_EQ(L"abc", fmt::sprintf(L"%s", TestWString(L"abc")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(PrintfTest, Iostream) {
|
||||||
|
std::ostringstream os;
|
||||||
|
int ret = fmt::fprintf(os, "Don't %s!", "panic");
|
||||||
|
EXPECT_EQ("Don't panic!", os.str());
|
||||||
|
EXPECT_EQ(12, ret);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user