Hello, I need to serialize into and from a memory buffer using boost::archive::binary_oarchive and binary_iarchive. Using std::stringstream does not work (it does work with text_oarchive and text_iarchive in memory and using files). I found a mention in the archives about similar need here: http://lists.boost.org/boost-users/2007/10/31580.php But I cannot figure it out. I am trying to flesh out the two operations marshall() and unmarshall() below, such that an instance of STORAGE_TYPE will hold the resulting bytes of an archival operation of a class of type T, or the inverse where I have the STORAGE_TYPE and want to create a new T from an oarchive operation. #include <string> #include <vector> #include <sstream> #ifdef USE_TEXT typedef std::string STORAGE_TYPE; #else typedef std::vector<unsigned char> STORAGE_TYPE; #endif template<typename T> void marshall(const T& storeObj, STORAGE_TYPE& store) { } and it's compliment: template<typename T> void unmarshall(T& restoredObj, const STORAGE_TYPE& store) { } Help getting the STORAGE_TYPE and memory stream would be greatly appreciated. Thanks, Vic