boost-serialization

    0熱度

    1回答

    是否可以保存指針中存儲的實際地址而不是指向的對象? 我的意思是,boost::serialization自動序列化對象引用的對象,而不是對象的地址,但在我的情況下,有很多對同一對象的引用,我不想一遍又一遍地將它們序列化,所以我需要保存這種指針的地址。

    1熱度

    2回答

    (我在windows下並使用visual studio 2015.)我收到xml放在問題的末尾,以單行格式,但我漂亮印刷(XML只有換行符)與notepad++爲便利。 std::ifstream file("D:\\FILES\\anxmlfile.xml"); char msg[500]; strerror_s(msg,errno); try { boost::archive

    1熱度

    1回答

    我想傳輸一個未知子類的類,但已知基類。 我相信這應該使用boost::serialization,BOOST_CLASS_EXPORT_GUID和boost::mpi是可能的,但我很新的C++一般 這是代碼,我有: #include <boost/mpi.hpp> #include <boost/mpi/environment.hpp> #include <boost/mpi/communic

    1熱度

    1回答

    簡版:有任何穩定/可靠的方法來序列化/反序列化Boost.Geometry rtree嗎? 更長的版本:Boost.Geometry中的rtree實現爲序列化/反序列化提供了實驗支持,但支持不穩定,有時會在反序列化時拋出異常。我甚至不知道它是否會無聲地破壞樹數據。 我已經實現了一個簡單但很慢的黑客攻擊:序列化所有樹節點(而不是整個樹),並在反序列化期間重建樹。我想要更快的東西。

    0熱度

    1回答

    我有個從像這樣衍生2種多態類型: class Base1 {...}; class Base2 {...}; class Derived1 : public Base1 {...}; class Derived : public Derived1, public Base2 {}; 我使用 BOOST_CLASS_EXPORT_KEY(Derived) 在序列頭文件的。和 BOOST

    1熱度

    1回答

    下面是我設計的結構和類,最終目標是使用boost序列化將值寫入xml 當我編譯代碼下面我得到一個編譯時錯誤(錯誤是巨大的,我只是貼吧的最後一行這或許對這個問題的會談) /boost_1_49_0/include/boost/serialization/access.hpp:118: error: 'class std::map, std::allocator >, std::map, std::a

    0熱度

    1回答

    是否可以序列化std::chrono::duration或特別是std::chrono::milliseconds與boost::serialization?發生 以下錯誤: 「結構的std ::時辰::持續時間> '沒有名爲成員' 連載」 我需要爲我的模板類: #include <iostream> #include <chrono> #include <boost/serializatio

    0熱度

    1回答

    我想序列化一個沒有默認構造函數的派生類。我正在使用反序列化構造函數模式。我讀過你必須註冊派生類的類型,所以我在輸出檔案中這樣做(outputArchive.register_type<Point>();)。但是,當試圖向輸入存檔註冊相同類型時,我得到一個編譯器錯誤,說Point沒有默認構造函數(它沒有)。我們在這種情況下做什麼? #include <boost/archive/text_oarch

    0熱度

    2回答

    我想序列化的數據結構大多是對象列表。一個對象可能有一個指向另一個的指針。 串行化失敗,指針衝突。 http://www.boost.org/doc/libs/1_60_0/libs/serialization/doc/exceptions.html#pointer_conflict 這裏是我的數據結構的一個小例子:(我真正的結構更復雜一些。) struct Data { std::ve

    -1熱度

    1回答

    我有一個免費的模板功能,從文本文件加載: // free template function template<class U> bool Main_Load(U& dataset, const std::string path) { // Create an input archive std::ifstream ifs(path); boost::archiv