blob: b358b9c41f5434299960a7a4b6b238843e4ef43a [file] [log] [blame]
//
//! 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;
};
}}