|
@@ -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;
|