Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51943 - in trunk/libs/serialization: doc vc7ide
From: ramey_at_[hidden]
Date: 2009-03-23 13:00:34


Author: ramey
Date: 2009-03-23 13:00:33 EDT (Mon, 23 Mar 2009)
New Revision: 51943
URL: http://svn.boost.org/trac/boost/changeset/51943

Log:
Document new exceptions
Text files modified:
   trunk/libs/serialization/doc/exceptions.html | 16 ++++++++++++++--
   trunk/libs/serialization/vc7ide/Library.vcproj | 6 ++++++
   trunk/libs/serialization/vc7ide/test_static_warning.vcproj | 1 +
   3 files changed, 21 insertions(+), 2 deletions(-)

Modified: trunk/libs/serialization/doc/exceptions.html
==============================================================================
--- trunk/libs/serialization/doc/exceptions.html (original)
+++ trunk/libs/serialization/doc/exceptions.html 2009-03-23 13:00:33 EDT (Mon, 23 Mar 2009)
@@ -29,6 +29,7 @@
   <dt>unregistered_class
   <dt>invalid_signature
   <dt>unsupported_version
+ <dt>unsupported_class_version
   <dt>pointer_conflict
   <dt>incompatible_native_format
   <dt>array_size_too_short
@@ -72,8 +73,11 @@
         invalid_class_name, // class name greater than the maximum permitted.
                                 // most likely a corrupted archive or an attempt
                                 // to insert virus via buffer overrun method.
- unregistered_cast // base - derived relationship not registered with
+ unregistered_cast, // base - derived relationship not registered with
                                 // void_cast_register
+ unsupported_class_version // type saved with a version # greater than the
+ // one used by the program. This indicates that the proggram
+ // needs to be rebuilt.
     } exception_code;
     exception_code code;
     archive_exception(exception_code c) : code(c) {}
@@ -109,7 +113,7 @@
 exception is thrown.
 
 <h3><a name="unsupported_version"><code style="white-space: normal">unsupported_version</code></a></h3>
-This system assigns a version number of 2 to all archives created. Note that this is in
+This system assigns a version number of 3 to all archives created. Note that this is in
 no way related to version number of classes used by application programs. This refers
 to the version of the serialization system used to create the archive. Future versions
 of this serialization system will be able to identify archives created under previous
@@ -120,6 +124,14 @@
 <p>Should it ever occur that an older program attempts to read newer archives whose
 format has changed, this exception is thrown.
 
+<h3><a name="unsupported_class_version"><code style="white-space: normal">unsupported_class_version</code></a></h3>
+An attempt has been made to load a class whose version has been incremented since the
+program was written. Suppose that a class has been assigned version number 3 and the program
+has been built and sent to third parties. Now suppose that the definition of that class
+has been altered, the version number has been incremented to 4 and new archives have been
+built. If one attempts to load these new archives with the original program, this
+exception will be thrown.
+
 <h3><a name="pointer_conflict"><code style="white-space: normal">pointer_conflict</code></a></h3>
 To understand what this exception means consider the following scenario
 <pre><code>

Modified: trunk/libs/serialization/vc7ide/Library.vcproj
==============================================================================
--- trunk/libs/serialization/vc7ide/Library.vcproj (original)
+++ trunk/libs/serialization/vc7ide/Library.vcproj 2009-03-23 13:00:33 EDT (Mon, 23 Mar 2009)
@@ -830,12 +830,18 @@
                                 RelativePath="..\..\..\boost\archive\iterators\binary_from_base64.hpp">
                         </File>
                         <File
+ RelativePath="..\..\..\boost\archive\iterators\dataflow.hpp">
+ </File>
+ <File
                                 RelativePath="..\..\..\boost\archive\iterators\dataflow_exception.hpp">
                         </File>
                         <File
                                 RelativePath="..\..\..\boost\archive\iterators\escape.hpp">
                         </File>
                         <File
+ RelativePath="..\..\..\boost\archive\iterators\head_iterator.hpp">
+ </File>
+ <File
                                 RelativePath="..\..\..\boost\archive\iterators\insert_linebreaks.hpp">
                         </File>
                         <File

Modified: trunk/libs/serialization/vc7ide/test_static_warning.vcproj
==============================================================================
--- trunk/libs/serialization/vc7ide/test_static_warning.vcproj (original)
+++ trunk/libs/serialization/vc7ide/test_static_warning.vcproj 2009-03-23 13:00:33 EDT (Mon, 23 Mar 2009)
@@ -301,6 +301,7 @@
                                 RuntimeLibrary="1"
                                 BufferSecurityCheck="FALSE"
                                 EnableFunctionLevelLinking="TRUE"
+ DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"


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