blob: ef8d541f1b8a5fc87a8241660092f208ca820ac5 [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 ndnboost { namespace numeric {
template <>
struct numeric_cast_traits
<
char
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
char
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
signed char
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
signed char
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned char
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned char
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
short
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
short
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned short
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned short
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
int
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
int
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned int
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned int
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
long
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
long
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned long
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
unsigned long
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
float
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
float
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
double
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
double
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
long double
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
long double
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
ndnboost::long_long_type
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
ndnboost::long_long_type
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
ndnboost::ulong_long_type
, ndnboost::long_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::long_long_type> rounding_policy;
};
template <>
struct numeric_cast_traits
<
ndnboost::ulong_long_type
, ndnboost::ulong_long_type
>
{
typedef def_overflow_handler overflow_policy;
typedef UseInternalRangeChecker range_checking_policy;
typedef Trunc<ndnboost::ulong_long_type> rounding_policy;
};
}}