Upstream build fix for https://svn.boost.org/trac/boost/ticket/6158
This commit is contained in:
parent
1d289937f9
commit
b5b80fae20
7 changed files with 4040 additions and 5 deletions
|
@ -1,6 +1,6 @@
|
|||
# $NetBSD: Makefile,v 1.18 2012/01/09 16:33:13 adam Exp $
|
||||
# $NetBSD: Makefile,v 1.19 2012/02/16 18:24:13 hans Exp $
|
||||
|
||||
PKGREVISION= 1
|
||||
PKGREVISION= 2
|
||||
|
||||
BOOST_PACKAGE= headers
|
||||
BOOST_COMMENT= (build-time headers)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@comment $NetBSD: PLIST,v 1.17 2012/01/08 11:35:07 adam Exp $
|
||||
@comment $NetBSD: PLIST,v 1.18 2012/02/16 18:24:13 hans Exp $
|
||||
include/boost/accumulators/accumulators.hpp
|
||||
include/boost/accumulators/accumulators_fwd.hpp
|
||||
include/boost/accumulators/framework/accumulator_base.hpp
|
||||
|
@ -4875,7 +4875,8 @@ include/boost/numeric/conversion/detail/is_subranged.hpp
|
|||
include/boost/numeric/conversion/detail/meta.hpp
|
||||
include/boost/numeric/conversion/detail/numeric_cast_traits.hpp
|
||||
include/boost/numeric/conversion/detail/old_numeric_cast.hpp
|
||||
include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp
|
||||
include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp
|
||||
include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp
|
||||
include/boost/numeric/conversion/detail/sign_mixture.hpp
|
||||
include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
|
||||
include/boost/numeric/conversion/int_float_mixture.hpp
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$NetBSD: distinfo,v 1.39 2012/01/09 16:33:13 adam Exp $
|
||||
$NetBSD: distinfo,v 1.40 2012/02/16 18:24:12 hans Exp $
|
||||
|
||||
SHA1 (boost_1_48_0.tar.bz2) = 27aced5086e96c6f7b2b684bda2bd515e115da35
|
||||
RMD160 (boost_1_48_0.tar.bz2) = e006121ae5cac37aa419ac5bbf59e090e6ca7f70
|
||||
|
@ -14,3 +14,7 @@ SHA1 (patch-aq) = e5c7b72ffa2942ce401f3d9bf05498fd761df17a
|
|||
SHA1 (patch-ar) = 91981e2edb93666de78c203a6cef3d5011b2b26a
|
||||
SHA1 (patch-boost_foreach.hpp) = 7cd26c4983873bcac284ad400950e341c559f9a8
|
||||
SHA1 (patch-boost_foreach_fwd.hpp) = 5accd68d559213a9677f7d1204e72dd082a42a41
|
||||
SHA1 (patch-boost_numeric_conversion_detail_numeric__cast__traits.hpp) = 9dd68181736e6c0613869640e3ac217bf7491089
|
||||
SHA1 (patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits.hpp) = c85e2c36bc7dad7aab54456a55189301525b22ab
|
||||
SHA1 (patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__common.hpp) = ac13408f5c7ccede26e6c945bdee109383434fcb
|
||||
SHA1 (patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__long__long.hpp) = 165579f516cb0a3a2cc459442f1dbdc156e5a60f
|
||||
|
|
|
@ -0,0 +1,176 @@
|
|||
$NetBSD: patch-boost_numeric_conversion_detail_numeric__cast__traits.hpp,v 1.1 2012/02/16 18:24:12 hans Exp $
|
||||
|
||||
--- boost/numeric/conversion/detail/numeric_cast_traits.hpp.orig 2011-10-06 19:27:17.000000000 +0200
|
||||
+++ boost/numeric/conversion/detail/numeric_cast_traits.hpp 2012-02-14 15:17:49.823827394 +0100
|
||||
@@ -1,26 +1,33 @@
|
||||
//
|
||||
-//! Copyright (c) 2011
|
||||
+//! Copyright (c) 2011-2012
|
||||
//! Brandon Kohn
|
||||
//
|
||||
// Distributed under 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)
|
||||
//
|
||||
+
|
||||
#if !defined(BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES)
|
||||
- #include <boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp>
|
||||
+
|
||||
+ #include <boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp>
|
||||
+
|
||||
+ #if !defined(BOOST_NO_LONG_LONG)
|
||||
+ #include <boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp>
|
||||
+ #endif
|
||||
+
|
||||
#else
|
||||
#if !BOOST_PP_IS_ITERATING
|
||||
|
||||
- #include <boost/preprocessor/iteration/iterate.hpp>
|
||||
#include <boost/preprocessor/seq/elem.hpp>
|
||||
#include <boost/preprocessor/seq/size.hpp>
|
||||
+ #include <boost/preprocessor/iteration/iterate.hpp>
|
||||
|
||||
#if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
|
||||
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits.hpp")
|
||||
+ #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_common.hpp")
|
||||
#endif
|
||||
|
||||
//
|
||||
-//! Copyright (c) 2011
|
||||
+//! Copyright (c) 2011-2012
|
||||
//! Brandon Kohn
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See
|
||||
@@ -31,40 +38,28 @@
|
||||
#pragma wave option(preserve: 1)
|
||||
#endif
|
||||
|
||||
- //! Generate the specializations for the built-in types.
|
||||
- #if !defined( BOOST_NO_INT64_T )
|
||||
- #define BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES() \
|
||||
- (char) \
|
||||
- (boost::int8_t) \
|
||||
- (boost::uint8_t) \
|
||||
- (boost::int16_t) \
|
||||
- (boost::uint16_t) \
|
||||
- (boost::int32_t) \
|
||||
- (boost::uint32_t) \
|
||||
- (boost::int64_t) \
|
||||
- (boost::uint64_t) \
|
||||
- (float) \
|
||||
- (double) \
|
||||
- (long double) \
|
||||
- /***/
|
||||
- #else
|
||||
- #define BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES() \
|
||||
- (char) \
|
||||
- (boost::int8_t) \
|
||||
- (boost::uint8_t) \
|
||||
- (boost::int16_t) \
|
||||
- (boost::uint16_t) \
|
||||
- (boost::int32_t) \
|
||||
- (boost::uint32_t) \
|
||||
- (float) \
|
||||
- (double) \
|
||||
- (long double) \
|
||||
- /***/
|
||||
- #endif
|
||||
+ //! These are the assumed common built in fundamental types (not typdefs/macros.)
|
||||
+ #define BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() \
|
||||
+ (char) \
|
||||
+ (signed char) \
|
||||
+ (unsigned char) \
|
||||
+ (short) \
|
||||
+ (unsigned short) \
|
||||
+ (int) \
|
||||
+ (unsigned int) \
|
||||
+ (long) \
|
||||
+ (unsigned long) \
|
||||
+ (float) \
|
||||
+ (double) \
|
||||
+ (long double) \
|
||||
+ /***/
|
||||
+
|
||||
+ #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
|
||||
+ #define BOOST_NUMERIC_CONVERSION_SEQ_B() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
|
||||
|
||||
namespace boost { namespace numeric {
|
||||
|
||||
- #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
|
||||
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
|
||||
#include BOOST_PP_ITERATE()
|
||||
|
||||
}}//namespace boost::numeric;
|
||||
@@ -72,12 +67,53 @@ namespace boost { namespace numeric {
|
||||
#if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
|
||||
#pragma wave option(output: null)
|
||||
#endif
|
||||
+
|
||||
+ #if ( defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) ) || !defined(BOOST_NO_LONG_LONG)
|
||||
+
|
||||
+ #undef BOOST_NUMERIC_CONVERSION_SEQ_A
|
||||
+ #undef BOOST_NUMERIC_CONVERSION_SEQ_B
|
||||
+
|
||||
+ #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
|
||||
+ #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_long_long.hpp")
|
||||
+ #endif
|
||||
+
|
||||
+//
|
||||
+//! Copyright (c) 2011-2012
|
||||
+//! Brandon Kohn
|
||||
+//
|
||||
+// Distributed under 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)
|
||||
+//
|
||||
+ #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
|
||||
+ #pragma wave option(preserve: 1)
|
||||
+ #endif
|
||||
+
|
||||
+namespace boost { namespace numeric {
|
||||
+
|
||||
+ #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()(long long)(unsigned long long)
|
||||
+ #define BOOST_NUMERIC_CONVERSION_SEQ_B() (long long)(unsigned long long)
|
||||
+
|
||||
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
|
||||
+ #include BOOST_PP_ITERATE()
|
||||
+
|
||||
+}}//namespace boost::numeric;
|
||||
+
|
||||
+ #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
|
||||
+ #pragma wave option(output: null)
|
||||
+ #endif
|
||||
+
|
||||
+ #endif
|
||||
+
|
||||
+ #undef BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES
|
||||
+ #undef BOOST_NUMERIC_CONVERSION_SEQ_A
|
||||
+ #undef BOOST_NUMERIC_CONVERSION_SEQ_B
|
||||
+
|
||||
|
||||
- #undef BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES
|
||||
|
||||
#elif BOOST_PP_ITERATION_DEPTH() == 1
|
||||
|
||||
- #define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
|
||||
+ #define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_B())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
|
||||
#include BOOST_PP_ITERATE()
|
||||
|
||||
#elif BOOST_PP_ITERATION_DEPTH() == 2
|
||||
@@ -89,13 +125,13 @@ namespace boost { namespace numeric {
|
||||
template <>
|
||||
struct numeric_cast_traits
|
||||
<
|
||||
- BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_A, BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())
|
||||
- , BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())
|
||||
+ BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_A, BOOST_NUMERIC_CONVERSION_SEQ_A())
|
||||
+ , BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B())
|
||||
>
|
||||
{
|
||||
typedef def_overflow_handler overflow_policy;
|
||||
typedef UseInternalRangeChecker range_checking_policy;
|
||||
- typedef Trunc<BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())> rounding_policy;
|
||||
+ typedef Trunc<BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B())> rounding_policy;
|
||||
};
|
||||
|
||||
#undef BOOST_NUMERIC_CONVERSION_A
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,352 @@
|
|||
$NetBSD: patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__long__long.hpp,v 1.1 2012/02/16 18:24:13 hans Exp $
|
||||
|
||||
--- /dev/null 2012-02-09 03:10:02.000000000 +0100
|
||||
+++ boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp 2012-02-14 15:03:39.158094998 +0100
|
||||
@@ -0,0 +1,347 @@
|
||||
+//
|
||||
+//! Copyright (c) 2011-2012
|
||||
+//! Brandon Kohn
|
||||
+//
|
||||
+// Distributed under 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)
|
||||
+//
|
||||
+namespace boost { namespace numeric {
|
||||
+
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ char
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ char
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ signed char
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ signed char
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned char
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned char
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ short
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ short
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned short
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned short
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ int
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ int
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned int
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned int
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ long
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ long
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned long
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned long
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ float
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ float
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ double
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ double
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ long double
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ long double
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ long long
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ long long
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned long long
|
||||
+ , long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<long long> rounding_policy;
|
||||
+ };
|
||||
+
|
||||
+ template <>
|
||||
+ struct numeric_cast_traits
|
||||
+ <
|
||||
+ unsigned long long
|
||||
+ , unsigned long long
|
||||
+ >
|
||||
+ {
|
||||
+ typedef def_overflow_handler overflow_policy;
|
||||
+ typedef UseInternalRangeChecker range_checking_policy;
|
||||
+ typedef Trunc<unsigned long long> rounding_policy;
|
||||
+ };
|
||||
+}}
|
Loading…
Reference in a new issue