考慮的結構序列化:boost :: serialization :: traits的具體示例?
struct MyStruct {
int a;
std::string b;
template<class Archive>
void serialize(Archive &ar, const unsigned int)
{
ar & a & b;
}
};
我想明確地標記它,使用boost ::系列化::特質,既track_never
和object_serializable
。我盯着traits docs,但似乎無法解釋如何應用它,並且無法在任何地方找到示例。所以...
a)什麼是將特徵應用於這個特定類的代碼是什麼?
b)什麼是BOOST_STATIC_ASSERT()
驗證每個到位?
c)我假設我不能創建這個類primitive_type,因爲在典型的歸檔類中沒有可以直接處理這種類型的成員函數或模板。正確?
我不關心跨平臺或跨版本存檔的兼容性,只是快速讀取(並寫入)和入侵MyStruct
是好的,但如果可能的話,它會很好地看到它完成兩種方式。
事實證明,上述兩個宏需要按照您放置它們的順序。我讓他們逆轉了,這就是爲什麼它不適合我。最後的分號不是必需的,但不會造成傷害。 (順便說一句,這是所有的MinGW-32/gcc-4.4。) – JimB 2012-02-22 23:48:52