-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Issue #418 - Minimal supported library subset
- Loading branch information
Showing
8 changed files
with
67 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/* | ||
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 { | ||
|
||
namespace { | ||
|
||
const char RESET_COLOR[] = "\x1b[0m"; | ||
|
||
} // namespace | ||
|
||
FMT_FUNC void print(std::FILE *f, CStringRef format_str, ArgList args) { | ||
MemoryWriter w; | ||
w.write(format_str, args); | ||
std::fwrite(w.data(), 1, w.size(), f); | ||
} | ||
|
||
FMT_FUNC void print(CStringRef format_str, ArgList args) { | ||
print(stdout, format_str, args); | ||
} | ||
|
||
FMT_FUNC void print_colored(Color c, CStringRef format, ArgList args) { | ||
char escape[] = "\x1b[30m"; | ||
escape[3] = static_cast<char>('0' + c); | ||
std::fputs(escape, stdout); | ||
print(format, args); | ||
std::fputs(RESET_COLOR, stdout); | ||
} | ||
|
||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
#include "fmt/format.h" | ||
#include "fmt/printf.h" | ||
|
||
int main(int argc, char** argv) { | ||
for(int i = 0; i < argc; ++i) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
#include "fmt/format.h" | ||
#include "fmt/printf.h" | ||
|
||
int main(int argc, char** argv) { | ||
for(int i = 0; i < argc; ++i) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters