proper use of std:: in safe_cast

This commit is contained in:
Dane Springmeyer 2015-06-15 19:34:16 -07:00
parent 427f0486ff
commit 48d4bfb170

View file

@ -25,6 +25,7 @@
#include <limits> #include <limits>
#include <type_traits> #include <type_traits>
#include <cstdint>
namespace mapnik { namespace mapnik {
@ -60,11 +61,11 @@ struct numeric_compare<T,S,typename std::enable_if<!std::is_floating_point<T>::v
std::is_integral<T>::value && std::is_signed<T>::value && std::is_unsigned<S>::value>::type> std::is_integral<T>::value && std::is_signed<T>::value && std::is_unsigned<S>::value>::type>
{ {
static inline bool less(T t, S s) { static inline bool less(T t, S s) {
return (t < static_cast<T>(0)) ? true : static_cast<uint64_t>(t) < static_cast<uint64_t>(s); return (t < static_cast<T>(0)) ? true : static_cast<std::uint64_t>(t) < static_cast<std::uint64_t>(s);
} }
static inline bool greater(T t, S s) { static inline bool greater(T t, S s) {
return (t < static_cast<T>(0)) ? false : static_cast<uint64_t>(t) > static_cast<uint64_t>(s); return (t < static_cast<T>(0)) ? false : static_cast<std::uint64_t>(t) > static_cast<std::uint64_t>(s);
} }
}; };
@ -73,11 +74,11 @@ struct numeric_compare<T,S,typename std::enable_if<!std::is_floating_point<T>::v
std::is_integral<T>::value && std::is_unsigned<T>::value && std::is_signed<S>::value>::type> std::is_integral<T>::value && std::is_unsigned<T>::value && std::is_signed<S>::value>::type>
{ {
static inline bool less(T t, S s) { static inline bool less(T t, S s) {
return (s < static_cast<S>(0)) ? false : static_cast<uint64_t>(t) < static_cast<uint64_t>(s); return (s < static_cast<S>(0)) ? false : static_cast<std::uint64_t>(t) < static_cast<std::uint64_t>(s);
} }
static inline bool greater(T t, S s) { static inline bool greater(T t, S s) {
return (s < static_cast<S>(0)) ? true : static_cast<uint64_t>(t) > static_cast<uint64_t>(s); return (s < static_cast<S>(0)) ? true : static_cast<std::uint64_t>(t) > static_cast<std::uint64_t>(s);
} }
}; };