我想尋找一個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