// 最基本实现
template
static void print(T t) {
std::cout << t;
}
// 处理 std::pair
template
static void print(std::pair kv) {
print(kv.first);
print(" = ");
print(kv.second);
}
// 对 std::string 特殊处理
// 注释掉可以按照序列输出
static void print(std::string s) {
std::cout << s;
}
//! 处理各种序列容器(vector/list/map ...)
template typename SequenceT>
static void print(SequenceT seq) {
print("{");
for (auto iter = std::begin(seq); iter != std::end(seq); iter = std::next(iter)) {
print(*iter);
print(",");
}
print("\b}");
print("\n");
}