| 2 | #include <string> |
| 3 | template<typename T> |
| 4 | static inline decltype(auto) Normalize(const T& arg) |
| 5 | { |
| 6 | if constexpr(std::is_same_v<T, std::string>) { |
| 7 | return arg.c_str(); |
| 8 | } else { |
| 9 | return arg; |
| 10 | } |
| 11 | } |
| 12 | |
| 13 | template<typename... Ts> |
| 14 | void Log(const char* fmt, const Ts&... ts) |