Ticket #1954: collection_traits.2.patch

File collection_traits.2.patch, 1.3 KB (added by Maik Beckmann <Beckmann.Maik@…>, 14 years ago)
  • boost/boost/serialization/collection_traits.hpp

     
    2929#include <boost/cstdint.hpp>
    3030#include <boost/serialization/level.hpp>
    3131
     32#include <climits> // ULONG_MAX
     33
    3234#define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(T, C)          \
    3335template<>                                                          \
    3436struct implementation_level< C < T > > {                            \
     
    5052// i.e. that its not a synonym for (unsigned) long
    5153// if there is no 64 bit int or if its the same as a long
    5254// we shouldn't define separate functions for int64 data types.
    53 #if defined(BOOST_NO_INT64_T) \
    54     || (ULONG_MAX != 0xffffffff && ULONG_MAX == 18446744073709551615u) // 2**64 - 1
    55 #   define BOOST_NO_INTRINSIC_INT64_T
     55#if defined(BOOST_NO_INT64_T)
     56    #define BOOST_NO_INTRINSIC_INT64_T
     57#else
     58    #if defined(ULONG_MAX)
     59        #if(ULONG_MAX != 0xffffffff && ULONG_MAX == 18446744073709551615u) // 2**64 - 1
     60            #define BOOST_NO_INTRINSIC_INT64_T
     61        #endif
     62    #else
     63        #define BOOST_NO_INTRINSIC_INT64_T
     64    #endif
    5665#endif
    5766
    5867#if !defined(BOOST_NO_INTRINSIC_INT64_T)