Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60266 - branches/release/boost/archive/detail
From: ramey_at_[hidden]
Date: 2010-03-06 21:35:56


Author: ramey
Date: 2010-03-06 21:35:56 EST (Sat, 06 Mar 2010)
New Revision: 60266
URL: http://svn.boost.org/trac/boost/changeset/60266

Log:
improve portability for 64 bit integers
Text files modified:
   branches/release/boost/archive/detail/interface_iarchive.hpp | 1 -
   branches/release/boost/archive/detail/interface_oarchive.hpp | 1 -
   branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp | 14 +++++++++++---
   branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp | 12 ++++++++++--
   4 files changed, 21 insertions(+), 7 deletions(-)

Modified: branches/release/boost/archive/detail/interface_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/interface_iarchive.hpp (original)
+++ branches/release/boost/archive/detail/interface_iarchive.hpp 2010-03-06 21:35:56 EST (Sat, 06 Mar 2010)
@@ -15,7 +15,6 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 
 // See http://www.boost.org for updates, documentation, and revision history.
-#include <string>
 #include <cstddef> // NULL
 #include <boost/cstdint.hpp>
 #include <boost/mpl/bool.hpp>

Modified: branches/release/boost/archive/detail/interface_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/interface_oarchive.hpp (original)
+++ branches/release/boost/archive/detail/interface_oarchive.hpp 2010-03-06 21:35:56 EST (Sat, 06 Mar 2010)
@@ -15,7 +15,6 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 
 // See http://www.boost.org for updates, documentation, and revision history.
-#include <string>
 #include <cstddef> // NULL
 #include <boost/cstdint.hpp>
 #include <boost/mpl/bool.hpp>

Modified: branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp
==============================================================================
--- branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp (original)
+++ branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp 2010-03-06 21:35:56 EST (Sat, 06 Mar 2010)
@@ -28,6 +28,7 @@
 #endif
 
 #include <boost/cstdint.hpp>
+#include <boost/integer_traits.hpp>
 #include <boost/archive/polymorphic_iarchive.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
@@ -129,11 +130,18 @@
     virtual void load(unsigned long & t){
         ArchiveImplementation::load(t);
     }
- #if !defined(BOOST_NO_INTRINSIC_INT64_T)
- virtual void load(boost::int64_t & t){
+ #if defined(BOOST_HAS_LONG_LONG)
+ virtual void load(boost::long_long_type & t){
         ArchiveImplementation::load(t);
     }
- virtual void load(boost::uint64_t & t){
+ virtual void load(boost::ulong_long_type & t){
+ ArchiveImplementation::load(t);
+ }
+ #elif defined(BOOST_HAS_MS_INT64)
+ virtual void load(__int64 & t){
+ ArchiveImplementation::load(t);
+ }
+ virtual void load(unsigned __int64 & t){
         ArchiveImplementation::load(t);
     }
     #endif

Modified: branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp
==============================================================================
--- branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp (original)
+++ branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp 2010-03-06 21:35:56 EST (Sat, 06 Mar 2010)
@@ -18,7 +18,6 @@
 
 #include <string>
 #include <ostream>
-#include <boost/cstdint.hpp>
 #include <cstddef> // size_t
 
 #include <boost/config.hpp>
@@ -28,6 +27,8 @@
 } // namespace std
 #endif
 
+#include <boost/cstdint.hpp>
+#include <boost/integer_traits.hpp>
 #include <boost/archive/polymorphic_oarchive.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
@@ -108,7 +109,14 @@
     virtual void save(const unsigned long t){
         ArchiveImplementation::save(t);
     }
- #if !defined(BOOST_NO_INTRINSIC_INT64_T)
+ #if defined(BOOST_HAS_LONG_LONG)
+ virtual void save(const boost::long_long_type t){
+ ArchiveImplementation::save(t);
+ }
+ virtual void save(const boost::ulong_long_type t){
+ ArchiveImplementation::save(t);
+ }
+ #elif defined(BOOST_HAS_MS_INT64)
     virtual void save(const boost::int64_t t){
         ArchiveImplementation::save(t);
     }


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