|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r60268 - trunk/boost/serialization
From: ramey_at_[hidden]
Date: 2010-03-06 21:37:54
Author: ramey
Date: 2010-03-06 21:37:54 EST (Sat, 06 Mar 2010)
New Revision: 60268
URL: http://svn.boost.org/trac/boost/changeset/60268
Log:
improve portability for 64 bit integers
Text files modified:
trunk/boost/serialization/array.hpp | 2 --
trunk/boost/serialization/collection_traits.hpp | 27 ++++-----------------------
2 files changed, 4 insertions(+), 25 deletions(-)
Modified: trunk/boost/serialization/array.hpp
==============================================================================
--- trunk/boost/serialization/array.hpp (original)
+++ trunk/boost/serialization/array.hpp 2010-03-06 21:37:54 EST (Sat, 06 Mar 2010)
@@ -134,8 +134,6 @@
ar & boost::serialization::make_nvp("elems",a.elems);
}
-
-
} } // end namespace boost::serialization
#ifdef __BORLANDC__
Modified: trunk/boost/serialization/collection_traits.hpp
==============================================================================
--- trunk/boost/serialization/collection_traits.hpp (original)
+++ trunk/boost/serialization/collection_traits.hpp 2010-03-06 21:37:54 EST (Sat, 06 Mar 2010)
@@ -27,6 +27,7 @@
#include <boost/mpl/integral_c_tag.hpp>
#include <boost/cstdint.hpp>
+#include <boost/integer_traits.hpp>
#include <climits> // ULONG_MAX
#include <boost/serialization/level.hpp>
@@ -47,30 +48,10 @@
/**/
#endif
-// determine if its necessary to handle (u)int64_t specifically
-// i.e. that its not a synonym for (unsigned) long
-// if there is no 64 bit int or if its the same as a long
-// we shouldn't define separate functions for int64 data types.
-#if defined(BOOST_NO_INT64_T)
- #define BOOST_NO_INTRINSIC_INT64_T
-#else
- #if defined(ULLONG_MAX)
- #if(ULONG_MAX == 18446744073709551615ul) // 2**64 - 1
- #define BOOST_NO_INTRINSIC_INT64_T
- #endif
- #elif defined(ULONG_MAX)
- #if(ULONG_MAX != 0xffffffff && ULONG_MAX == 18446744073709551615ul) // 2**64 - 1
- #define BOOST_NO_INTRINSIC_INT64_T
- #endif
- #else
- #define BOOST_NO_INTRINSIC_INT64_T
- #endif
-#endif
-
-#if !defined(BOOST_NO_INTRINSIC_INT64_T)
+#if defined(BOOST_HAS_LONG_LONG)
#define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C) \
- BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::int64_t, C) \
- BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::uint64_t, C) \
+ BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::long_long_type, C) \
+ BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::ulong_long_type, C) \
/**/
#else
#define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)
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