1 | #ifndef BENCHMARK_COLORPRINT_H_ |
2 | #define BENCHMARK_COLORPRINT_H_ |
3 | |
4 | #include <cstdarg> |
5 | #include <iostream> |
6 | #include <string> |
7 | |
8 | namespace benchmark { |
9 | enum LogColor { |
10 | COLOR_DEFAULT, |
11 | COLOR_RED, |
12 | COLOR_GREEN, |
13 | COLOR_YELLOW, |
14 | COLOR_BLUE, |
15 | COLOR_MAGENTA, |
16 | COLOR_CYAN, |
17 | COLOR_WHITE |
18 | }; |
19 | |
20 | std::string FormatString(const char* msg, va_list args); |
21 | std::string FormatString(const char* msg, ...); |
22 | |
23 | void ColorPrintf(std::ostream& out, LogColor color, const char* fmt, |
24 | va_list args); |
25 | void ColorPrintf(std::ostream& out, LogColor color, const char* fmt, ...); |
26 | |
27 | // Returns true if stdout appears to be a terminal that supports colored |
28 | // output, false otherwise. |
29 | bool IsColorTerminal(); |
30 | |
31 | } // end namespace benchmark |
32 | |
33 | #endif // BENCHMARK_COLORPRINT_H_ |
34 | |