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