我想寻找一个MPL序列生成Boost MPL为对象序列化生成代码?
class Object
{
string a;
int b;
long c;
char d;
};
串行/解串码,但我需要能够识别对象并获取回为好,我想不通我怎么会得到它的成员的名字,我必须知道它?
代码看起来应该像
void SerializeObject(ostream os)
{
serialize(object.a, os);
serialize(object.b, os);
//serialize(object.member, os);
}
我想用户只定义相应的对象布局的MPL序列生成上面的代码,是可行的,你可以给我一些提示?
我的目的是:
用户对上述对象定义mpl::vector<String, int, long, char>
和我的metaprogram
可以生成编码需要的。
我不认为你可以得到你的成员的名字没有一些严重的黑客攻击。考虑如果你有两个整数会发生什么。 boost :: mpl如何知道哪个int是哪个? – 2011-05-16 19:48:45
@Boaz,我不在乎,只要我以同样的顺序得到两个int,就可以通过它们了。 – 2011-05-16 19:51:53