It might be help to indicate the error and which line tripped it.
 
In the meantime
 
a) binary streams should be opened with ios::binary
b) I don't remember what std::cout is derived from.  Try stringstream or fstream
 
Robert Ramey
"Greg Ravikovich" <grisharav@gmail.com> wrote in message news:442cf10a0902110433h2aa8ef69k71cc660c8e7e492b@mail.gmail.com...
Hello all,
I'm using boost 1.37 on msvc 9.
I have a compilation problem when serializing to a text_oarchive.
The problem doesn't happen when serializing to a binary_oarchive. here's a sample code:

#include <boost/test/unit_test.hpp>

#include <boost/serialization/serialization.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/binary_oarchive.hpp>
#include <boost/serialization/tracking.hpp>


struct SerializableStruct
{
   int m_data;
};

namespace boost
{
   namespace serialization
   {
      template<class Archive>
      void serialize(Archive & ar, SerializableStruct & s, unsigned int )
      {
         ar & s.m_data;
      }
   }
}

BOOST_CLASS_TRACKING(SerializableStruct,boost::serialization::track_never);


BOOST_AUTO_TEST_SUITE(TestGeneralSerialize)


BOOST_AUTO_TEST_CASE(TestTextArchive)
{
   boost::archive::text_oarchive out(std::cout);
   SerializableStruct s;
   s.m_data = 10;
   out << s;
}

BOOST_AUTO_TEST_CASE(TestBinaryArchive)
{
   std::stringstream str;
   boost::archive::binary_oarchive out(str);
   SerializableStruct s;
   s.m_data = 10;
   out << s;
}

BOOST_AUTO_TEST_SUITE_END();


By the way,
the following code compiles fine under boost 1.35 and fails to compile under boost 1.36, 1.37.
Comment out the TestTextArchive and the code compiles fine.
Any help will be appreciated.

Greg


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users