Boost logo

Boost-Commit :

From: ramey_at_[hidden]
Date: 2007-11-29 00:00:12


Author: ramey
Date: 2007-11-29 00:00:11 EST (Thu, 29 Nov 2007)
New Revision: 41455
URL: http://svn.boost.org/trac/boost/changeset/41455

Log:
gcc, vc 7.1 and vc8.0 passing all tests !!!
Text files modified:
   branches/serialization_next_release/boost/libs/serialization/doc/archive_reference.html | 31 +++++++++++++++----------------
   1 files changed, 15 insertions(+), 16 deletions(-)

Modified: branches/serialization_next_release/boost/libs/serialization/doc/archive_reference.html
==============================================================================
--- branches/serialization_next_release/boost/libs/serialization/doc/archive_reference.html (original)
+++ branches/serialization_next_release/boost/libs/serialization/doc/archive_reference.html 2007-11-29 00:00:11 EST (Thu, 29 Nov 2007)
@@ -226,7 +226,9 @@
     all data objects.
     <li>Addressing any of the above may generate more issues to be addressed.
     <li>The archives included with library are all templates which use a
- <code style="white-space: normal">stream</code> as a template parameter rather than simple classes.
+ <code style="white-space: normal">stream</code> or
+ <code style="white-space: normal">streambuf</code>
+ as a template parameter rather than simple classes.
     Combined with the above, even more issues arise with non-conforming compilers.
 </ul>
 The attached <a target="class_diagram" href="class_diagram.html">class diagram</a>
@@ -241,17 +243,15 @@
 <ul>
     <li>Instances of a derived class are serialized through a base class pointer.
     <li>Such instances are not "registered" neither implicitly nor explicitly. That
- is, the macro <code style="white-space: normal">BOOT_CLASS_EXPORT</code> is used to instantiate the serialization
- code for the included archives.
+ is, the macro <code style="white-space: normal">BOOT_CLASS_EXPORT</code> is used
+ to instantiate the serialization code for the included archives.
 </ul>
-The problem here is that BOOT_CLASS_EXPORT only generates code for those archives
-included with the library - not those added subsequently. To generate code for
-newly created archive classes, the following should be used.
+
+To make this work, the following should be included after the archive
+class definition.
 <pre><code>
-#define BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES trivial_oarchive
-#define BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES trivial_iarchive
+#define BOOST_SERIALIZATION_REGISTER_ARCHIVE(Archive)
 </code></pre>
-before <code style="white-space: normal">BOOST_CLASS_EXPORT</code> is invoked for any serializable class.
 Failure to do this will not inhibit the program from compiling, linking
 and executing properly - except in one case. If an instance of a derived
 class is serialized through a pointer to its base class, the program
@@ -259,8 +259,7 @@
 <a href="exceptions.html#unregistered_class"><code style="white-space: normal">unregistered_class</code></a>
 exception.
 <p>
-Only one of the above statements is permitted, However, any number of new archive
-classes can be specified as list separated by commas.
+
 
 <h4><a name="testing">Testing</h4>
 Exhaustive testing of the library requires testing the different aspects of object
@@ -302,16 +301,16 @@
 #define TEST_STREAM_FLAGS (std::ios_base::openmode)0
 </code></pre>
 
-To test a new archive, for example, portable binary archives, make a
-header file <code style="white-space: normal">portable_binary_archive.hpp</code>
+To test a new archive, for example, portable binary archives, with the gcc compiler,
+make a header file <code style="white-space: normal">portable_binary_archive.hpp</code>
 and invoke <code style="white-space: normal">bjam</code> with
 <pre><code>
 -sBOOST_ARCHIVE_LIST=portable_binary_archive.hpp
 </code></pre>
-This process in encapsulated in the shell script
-<code style="white-space: normal">run_archive_test</code> whose command line is
+This process in encapsulated in the shell or cmd script
+<code style="white-space: normal">library_test</code> whose command line is
 <pre><code>
-run_archive_test &lt;test header file&gt; &lt;toolset&gt; [&lt;boost root&gt;] [&lt;target directory&gt;]
+library_test --toolset=gcc -sBOOST_ARCHIVE_LIST=portable_binary_archive.hpp
 </code></pre>
 <h3><a name="polymorphic">Polymorphic Archives</a></h3>
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk