|
|
@ -136,6 +136,30 @@ namespace detail |
|
|
|
typedef int64 type; |
|
|
|
typedef int64 type; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_signed<long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef long type; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_signed<long long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef long long type; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_signed<unsigned long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef long type; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_signed<unsigned long long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef long long type; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
template <typename genType> |
|
|
|
template <typename genType> |
|
|
|
struct make_unsigned |
|
|
|
struct make_unsigned |
|
|
|
{}; |
|
|
|
{}; |
|
|
@ -187,6 +211,30 @@ namespace detail |
|
|
|
{ |
|
|
|
{ |
|
|
|
typedef uint64 type; |
|
|
|
typedef uint64 type; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_unsigned<long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef unsigned long type; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_unsigned<long long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef unsigned long long type; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_unsigned<unsigned long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef unsigned long type; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
|
|
|
struct make_unsigned<unsigned long long> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
typedef unsigned long long type; |
|
|
|
|
|
|
|
}; |
|
|
|
}//namespace detail
|
|
|
|
}//namespace detail
|
|
|
|
|
|
|
|
|
|
|
|
typedef detail::int8 int8; |
|
|
|
typedef detail::int8 int8; |
|
|
|