diff options
Diffstat (limited to '3rdParty/Boost/src/boost/numeric/conversion/detail')
3 files changed, 2226 insertions, 0 deletions
| diff --git a/3rdParty/Boost/src/boost/numeric/conversion/detail/numeric_cast_traits.hpp b/3rdParty/Boost/src/boost/numeric/conversion/detail/numeric_cast_traits.hpp new file mode 100644 index 0000000..150490d --- /dev/null +++ b/3rdParty/Boost/src/boost/numeric/conversion/detail/numeric_cast_traits.hpp @@ -0,0 +1,138 @@ +// +//! 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_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/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_common.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 +	 +	//! These are the assumed common built in fundamental types (not typedefs/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_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    +	 +	#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()(boost::long_long_type)(boost::ulong_long_type) +	#define BOOST_NUMERIC_CONVERSION_SEQ_B() (boost::long_long_type)(boost::ulong_long_type) +     +    #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 +     +#elif BOOST_PP_ITERATION_DEPTH() == 1 + +    #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 + +    //! Generate default traits for the specified source and target. +    #define BOOST_NUMERIC_CONVERSION_A BOOST_PP_FRAME_ITERATION(1) +    #define BOOST_NUMERIC_CONVERSION_B BOOST_PP_FRAME_ITERATION(2) + +    template <> +    struct numeric_cast_traits +        < +            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_SEQ_B())> rounding_policy; +    };      + +    #undef BOOST_NUMERIC_CONVERSION_A +    #undef BOOST_NUMERIC_CONVERSION_B + +#endif//! Depth 2. +#endif// BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES diff --git a/3rdParty/Boost/src/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp b/3rdParty/Boost/src/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp new file mode 100644 index 0000000..01dc932 --- /dev/null +++ b/3rdParty/Boost/src/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp @@ -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/3rdParty/Boost/src/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp b/3rdParty/Boost/src/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp new file mode 100644 index 0000000..b358b9c --- /dev/null +++ b/3rdParty/Boost/src/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp @@ -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 +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            char +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            signed char +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            signed char +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned char +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned char +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            short +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            short +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned short +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned short +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            int +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            int +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned int +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned int +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            long +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            long +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned long +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            unsigned long +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            float +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            float +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            double +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            double +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            long double +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            long double +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            boost::long_long_type +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            boost::long_long_type +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            boost::ulong_long_type +          , boost::long_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::long_long_type> rounding_policy; +    };  +     +    template <> +    struct numeric_cast_traits +        < +            boost::ulong_long_type +          , boost::ulong_long_type +        > +    { +        typedef def_overflow_handler overflow_policy; +        typedef UseInternalRangeChecker range_checking_policy; +        typedef Trunc<boost::ulong_long_type> rounding_policy; +    };  +}} | 
 Swift
 Swift