2012-11-01 82 views
1

我需要知道Boost :: Serialize如何與STL容器一起工作 - 比如地圖,矢量和列表。Boost如何序列化STL容器?

具體來說,是否在整個實際容​​器數據本身之前保存整個容器的大小?

爲了知道STL容器有多大,我可以讀取該大小嗎?

我在Win7上,64位與Visual Studio 2010.

謝謝。

回答

4

這裏是升壓序列化std::vector S中的源代碼:http://www.boost.org/doc/libs/1_38_0/boost/serialization/vector.hpp

std::set S:http://www.boost.org/doc/libs/1_38_0/boost/serialization/set.hpp

std::list S:http://www.boost.org/doc/libs/1_38_0/boost/serialization/list.hpp

std::vector是很清楚,它的作用。如果您在http://www.boost.org/doc/libs/1_38_0/boost/serialization/collections_load_imp.hpp實現頭文件看,我們看到:

collection_size_type count; 
//... 
ar >> BOOST_SERIALIZATION_NVP(count); 
load_collection功能

。這兩個std::liststd::set串行器都直接調用它。