Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51744 - in trunk/boost/serialization: . detail
From: ramey_at_[hidden]
Date: 2009-03-13 01:31:54


Author: ramey
Date: 2009-03-13 01:31:53 EDT (Fri, 13 Mar 2009)
New Revision: 51744
URL: http://svn.boost.org/trac/boost/changeset/51744

Log:
Try new version of is_virtual_base_of.hpp
Back recent change to work around issue.
Check result of intel compiler compile
Text files modified:
   trunk/boost/serialization/detail/shared_count_132.hpp | 1 -
   trunk/boost/serialization/is_virtual_base_of.hpp | 8 +++++---
   2 files changed, 5 insertions(+), 4 deletions(-)

Modified: trunk/boost/serialization/detail/shared_count_132.hpp
==============================================================================
--- trunk/boost/serialization/detail/shared_count_132.hpp (original)
+++ trunk/boost/serialization/detail/shared_count_132.hpp 2009-03-13 01:31:53 EDT (Fri, 13 Mar 2009)
@@ -246,7 +246,6 @@
     D del; // copy constructor must not throw
 
     sp_counted_base_impl(sp_counted_base_impl const &);
- sp_counted_base_impl();
     sp_counted_base_impl & operator= (sp_counted_base_impl const &);
 
     typedef sp_counted_base_impl<P, D> this_type;

Modified: trunk/boost/serialization/is_virtual_base_of.hpp
==============================================================================
--- trunk/boost/serialization/is_virtual_base_of.hpp (original)
+++ trunk/boost/serialization/is_virtual_base_of.hpp 2009-03-13 01:31:53 EDT (Fri, 13 Mar 2009)
@@ -1,4 +1,4 @@
-// (C) Copyright Daniel Frey and Robert Ramey 2009.
+// (C) Copyright Robert Ramey 2009.
 // Use, modification and distribution are subject to the Boost Software License,
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
@@ -29,8 +29,10 @@
 template<typename Base, typename Derived>
 struct is_virtual_base_of_impl
 {
- struct X : Derived, virtual Base {};
- BOOST_STATIC_CONSTANT(bool, value = sizeof(X)==sizeof(Derived));
+ struct x : private Derived {};
+ struct y : private Derived {};
+ struct z : private x, private y {};
+ BOOST_STATIC_CONSTANT(bool, value = (sizeof(z) != 2 * sizeof(x)));
 };
 
 #ifdef BOOST_MSVC


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