|
Boost-Commit : |
From: ramey_at_[hidden]
Date: 2008-04-06 16:02:55
Author: ramey
Date: 2008-04-06 16:02:54 EDT (Sun, 06 Apr 2008)
New Revision: 44079
URL: http://svn.boost.org/trac/boost/changeset/44079
Log:
change BOOST_IS_ABSTRACT to BOOST_ASSUME_ABSTRACT
Text files modified:
trunk/libs/serialization/doc/headers.html | 2 +-
trunk/libs/serialization/doc/release.html | 2 +-
trunk/libs/serialization/doc/serialization.html | 2 +-
trunk/libs/serialization/doc/traits.html | 29 +++++++++++++----------------
4 files changed, 16 insertions(+), 19 deletions(-)
Modified: trunk/libs/serialization/doc/headers.html
==============================================================================
--- trunk/libs/serialization/doc/headers.html (original)
+++ trunk/libs/serialization/doc/headers.html 2008-04-06 16:02:54 EDT (Sun, 06 Apr 2008)
@@ -328,7 +328,7 @@
boost/archive/detail/common_oarchive.hpp
</a>
<dd>
-All archive implmentations are derived from these header files. They provide
+All archive implementations are derived from these header files. They provide
the interface to the internal implementation details of the library.
</dd>
Modified: trunk/libs/serialization/doc/release.html
==============================================================================
--- trunk/libs/serialization/doc/release.html (original)
+++ trunk/libs/serialization/doc/release.html 2008-04-06 16:02:54 EDT (Sun, 06 Apr 2008)
@@ -93,7 +93,7 @@
<h2><a name="differences_1_32"></a>Differences from Boost 1.32</h2>
<ul>
<li>Dynamic Linking Library (DLLs and shared libraries) for platforms which support them. See
- Automatic Linking on Windows.
+ Automatic Linking on Windows.
<li>Implementation of auto-link for compilers which can support this.
<li>Better support for <em>Argument Dependent Lookup</em> and two-phase lookup.
This results in simpler rules regarding the placing of serialization specializations
Modified: trunk/libs/serialization/doc/serialization.html
==============================================================================
--- trunk/libs/serialization/doc/serialization.html (original)
+++ trunk/libs/serialization/doc/serialization.html 2008-04-06 16:02:54 EDT (Sun, 06 Apr 2008)
@@ -922,7 +922,7 @@
<li>auto_ptr (demo)
</ul>
Others are being added to the list so check the boost files section and headers for
-new implmentations!
+new implementations!
<hr>
<p><i>© Copyright Robert Ramey 2002-2004.
Distributed under the Boost Software License, Version 1.0. (See
Modified: trunk/libs/serialization/doc/traits.html
==============================================================================
--- trunk/libs/serialization/doc/traits.html (original)
+++ trunk/libs/serialization/doc/traits.html 2008-04-06 16:02:54 EDT (Sun, 06 Apr 2008)
@@ -242,23 +242,20 @@
</code></pre>
If the an external name is required somewhere in the program and none
has been assigned, a static assertion will be invoked.
+
<h3><a name="abstract">Abstract</a></h3>
-When serializing an object through a pointer to its base class
-and that base class is abstract (i.e. has at least one virtual function
-assigned a value of 0), A compile error will be emitted. This is
-addressable in one over several ways:
-<ul>
- <li>remove the =0 in the base classes so that the base class is no
- longer abstract.
- <li>implement is_abstract for your compiler. (code written according to
- the C++ standard is included with this library. But it is known to fail
- on several compilers.
- <li>use the macro <code style="white-space: normal">BOOST_IS_ABSTRACT(my_class)</code> to indicate
- that the class is an abstract base class. This will cause the compiler
- to avoid generating code that causes this error.
- This macro must be used in the global namespace, with full namespace
- qualification of the argument class.
-</ul>
+When serializing an object through a pointer to its base class,
+the library needs to determine whether or not the bas is abstract
+(i.e. has at least one virtual function). The library uses the
+type trait macro <code style="white-space: normal">BOOST_IS_ABSTRACT(T)</code>
+to do this. Not all compilers support this type trait and corresponding
+macro. To address this, the macro <code style="white-space: normal">
+BOOST_SERIALIZATION_ASSUME_ABSTRACT(T)</code> has been
+implemented to permit one to explicitly indicate that a specified
+type is in fact abstract. This will guarentee that
+<code style="white-space: normal">BOOST_IS_ABSTRACT</code>
+will return the correct value for all compilers.
+
<h3><a name="typeinfo">Type Information Implementation</a></h3>
This last trait is also related to the serialization of objects
through a base class pointer. The implementation of this facility
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