diff options
Diffstat (limited to 'meta-pkgs/boost')
5 files changed, 4035 insertions, 1 deletions
diff --git a/meta-pkgs/boost/distinfo b/meta-pkgs/boost/distinfo index ee66614b3d5..335ea810f2a 100644 --- a/meta-pkgs/boost/distinfo +++ b/meta-pkgs/boost/distinfo @@ -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 diff --git a/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_numeric__cast__traits.hpp b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_numeric__cast__traits.hpp new file mode 100644 index 00000000000..2c4c2b781b7 --- /dev/null +++ b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_numeric__cast__traits.hpp @@ -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 diff --git a/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits.hpp b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits.hpp new file mode 100644 index 00000000000..52d7ed40d7a --- /dev/null +++ b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits.hpp @@ -0,0 +1,1756 @@ +$NetBSD: patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits.hpp,v 1.1 2012/02/16 18:24:12 hans Exp $ + +--- boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp.orig 2012-02-14 15:03:47.820833080 +0100 ++++ boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp 2012-02-09 03:10:02.000000000 +0100 +@@ -1,1751 +0,0 @@ +-// +-//! Copyright (c) 2011 +-//! 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 +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- char +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int8_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint8_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int16_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint16_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int32_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint32_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::int64_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- boost::uint64_t +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- float +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- float +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- double +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- double +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , char +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<char> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::int8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::uint8_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint8_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::int16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::uint16_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint16_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::int32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::uint32_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint32_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::int64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::int64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , boost::uint64_t +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<boost::uint64_t> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , float +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<float> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<double> rounding_policy; +- }; +- +- template <> +- struct numeric_cast_traits +- < +- long double +- , long double +- > +- { +- typedef def_overflow_handler overflow_policy; +- typedef UseInternalRangeChecker range_checking_policy; +- typedef Trunc<long double> rounding_policy; +- }; +- +-}} diff --git a/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__common.hpp b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__common.hpp new file mode 100644 index 00000000000..30bb87ce9e6 --- /dev/null +++ b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__common.hpp @@ -0,0 +1,1746 @@ +$NetBSD: patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__common.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_common.hpp 2012-02-14 15:03:39.157713113 +0100 +@@ -0,0 +1,1741 @@ ++// ++//! 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 ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ char ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ signed char ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned char ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ short ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned short ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ int ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned int ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ unsigned long ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ float ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ double ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , signed char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<signed char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , unsigned char ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned char> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , unsigned short ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned short> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , unsigned int ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned int> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , unsigned long ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<unsigned long> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , float ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<float> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<double> rounding_policy; ++ }; ++ ++ template <> ++ struct numeric_cast_traits ++ < ++ long double ++ , long double ++ > ++ { ++ typedef def_overflow_handler overflow_policy; ++ typedef UseInternalRangeChecker range_checking_policy; ++ typedef Trunc<long double> rounding_policy; ++ }; ++}} diff --git a/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__long__long.hpp b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__long__long.hpp new file mode 100644 index 00000000000..d8e2a10f153 --- /dev/null +++ b/meta-pkgs/boost/patches/patch-boost_numeric_conversion_detail_preprocessed_numeric__cast__traits__long__long.hpp @@ -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; ++ }; ++}} |