看tc_pack这个名字就知道, 这可能涉及到打包操作, 进去看一下, 果然。 其实, 就是序列化和反序列化。
源码中充斥了对 <<和>>的重载, 让使用者感觉到比较爽, 我们来看看如何使用:
bool b = false;
char c = 'x';
short si = 100;
int ii = 200;
char cn[] = "xyz";
string sn = "source code is good";
TC_PackIn objIn;
objIn << b << c << si << ii << cn << sn;
string s = objIn.topacket();
TC_PackOut po(s.c_str(), s.length());
objOut >> b;
assert(b == false);
cout << "bool OK" << endl;
objOut >> c;
assert(c == 'x');
cout << "char OK" << endl;
objOut >> si;
assert(si == 100);
cout << "short OK" << endl;