You don't need the ofs.close() call. The destructor of std::ofstream
will take care of this.
What is T in your code? I think you need to pass an object in the
BOOST_SERIALIZATION_NVP macro. Take a look at the xml example in
demo_xml_save.cpp
Christian
On 10/22/05, Piyush Kapadia
In following function code, ofs.close() results in failure to write last end tag of XML archive, apparently because stream is closed before destructor is executed, so when do we execute ofs.close() ? ofs.flush does not help either or shell we skip executing any flush or close and just return from function ?
template<class T>
void Serialize(const char * filename)
{
std::ofstream ofs(filename);
assert(ofs.good());
boost::archive::xml_oarchive oa(ofs);
oa << BOOST_SERIALIZATION_NVP(T);
ofs.close();
} _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users