10#ifndef COMMON_PRINTER_HPP
11#define COMMON_PRINTER_HPP
54 template <
typename T,
typename...
ARGS>
57 template <
typename...
ARGS>
67 virtual std::string GetPrintPrefix(
bool is_last_arg);
70 static std::string ToString(
T arg);
71 static std::string ToString(
const char*
arg);
192 this->PrintArg(
arg,
true);
249template <
typename T,
typename...
ARGS>
261 std::size_t start =
arg_str.find_first_of(
"=") + 1;
262 std::size_t end =
arg_str.find_last_of(
"__") - 1;
308template <
typename...
ARGS>
453inline std::string Printer::GetPrintPrefix(
bool is_last_arg) {
471inline std::string Printer::ToString(T arg) {
486inline std::string Printer::ToString(
const char* arg) {
static void RestoreColor()
恢复默认颜色设置
static std::string RESET
结束符,重置所有颜色设置
static std::string BLUE
蓝色
static void CancelColor()
取消所有颜色
Printer(const std::string &default_split_string=" ", const std::string &output_color=Color::BLUE)
打印器类的带参构造函数
std::ostream & operator()(ARGS... args)
实现不定参数的打印
static bool IsMatchString(T arg, const char *match_string, bool is_regex=false)
判断泛型参数是否是字符串参数
Printer & Print(T arg)
实现单个参数的打印
Printer & SetSplitString(const std::string &split_string)
设置默认输出内容的分隔字符串
Printer & SetOutputColor(const std::string &output_color)
设置默认输出内容的颜色