Hello, Recently I have used Boost for serialization. Unfortunatly it doesn't work with hash_map. I work with Visual 8, and Visual 8 used the dinkumware version of std lib. In order to make things working I have modified three files of boost : in the folder config/stdlib : dinkumware.hpp : BOOST_HAS_HASH is not defined.(why ?). in the folder serialization : hash_collections_load_imp.hpp : In this file I have made these changes : template<class Archive, class Container, class InputFunction> inline void load_hash_collection(Archive & ar, Container &s) { s.clear(); // retrieve number of elements unsigned int count; unsigned int item_version(0); // unsigned int bucket_count;; ar >> BOOST_SERIALIZATION_NVP(count); // if(3 < ar.get_library_version()){ // ar >> BOOST_SERIALIZATION_NVP(bucket_count); // ar >> BOOST_SERIALIZATION_NVP(item_version); // } // #if ! defined(__MWERKS__) // s.resize(bucket_count); // #endif InputFunction ifunc; while(count-- > 0){ ifunc(ar, s, item_version); } } } // namespace stl } // namespace serialization } // namespace boost hash_collections_save_imp.hpp : In this file I have made these changes : template<class Archive, class Container> inline void save_hash_collection(Archive & ar, const Container &s) { // record number of elements unsigned int count = s.size(); ar << BOOST_SERIALIZATION_NVP(count); // make sure the target type is registered so we can retrieve // the version when we load // if(3 < ar.get_library_version()){ // const unsigned int bucket_count = s.bucket_count(); // ar << BOOST_SERIALIZATION_NVP(bucket_count); // const unsigned int item_version = version<BOOST_DEDUCED_TYPENAME Container::value_type>::value; // ar << BOOST_SERIALIZATION_NVP(item_version); // } BOOST_DEDUCED_TYPENAME Container::const_iterator it = s.begin(); while(count-- > 0){ // note borland emits a no-op without the explicit namespace boost::serialization::save_construct_data_adl( ar, &(*it), boost::serialization::version< BOOST_DEDUCED_TYPENAME Container::value_type >::value ); ar << boost::serialization::make_nvp("item", *it++); } } } // namespace stl } // namespace serialization } // namespace boost With this changes Serialization of hash_map works well. Maybe you could make a : #if (!defined dinkumware ) ..... # endif In theses two files in order to make the serialization of hash_map with dinkumware working. Thanks for your time and your so good library ! -- Christophe Loustaunau.