Use *_t and *_v trait helpers from C++17 STL (#731)
This commit is contained in:
@@ -34,7 +34,7 @@ T log2(T x) {
|
||||
defined(__ANDROID_API__) && __ANDROID_API__ < 18
|
||||
|
||||
template <typename T>
|
||||
typename std::enable_if_t<std::is_floating_point<T>::value, T> log2(T x) {
|
||||
typename std::enable_if_t<std::is_floating_point_v<T>, T> log2(T x) {
|
||||
return ::log(x) / M_LN2;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,32 +8,32 @@ namespace mbgl {
|
||||
namespace util {
|
||||
|
||||
template <typename T>
|
||||
typename std::enable_if_t<std::is_integral<T>::value, T> max(T a, T b) {
|
||||
typename std::enable_if_t<std::is_integral_v<T>, T> max(T a, T b) {
|
||||
return std::max(a, b);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
typename std::enable_if_t<std::is_floating_point<T>::value, T> max(T a, T b) {
|
||||
typename std::enable_if_t<std::is_floating_point_v<T>, T> max(T a, T b) {
|
||||
return ::fmax(a, b);
|
||||
}
|
||||
|
||||
template <typename T, typename... Ts>
|
||||
typename std::enable_if_t<std::is_arithmetic<T>::value, T> max(T a, T b, Ts... args) {
|
||||
typename std::enable_if_t<std::is_arithmetic_v<T>, T> max(T a, T b, Ts... args) {
|
||||
return max(a, max(b, args...));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
typename std::enable_if_t<std::is_integral<T>::value, T> min(T a, T b) {
|
||||
typename std::enable_if_t<std::is_integral_v<T>, T> min(T a, T b) {
|
||||
return std::min(a, b);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
typename std::enable_if_t<std::is_floating_point<T>::value, T> min(T a, T b) {
|
||||
typename std::enable_if_t<std::is_floating_point_v<T>, T> min(T a, T b) {
|
||||
return ::fmin(a, b);
|
||||
}
|
||||
|
||||
template <typename T, typename... Ts>
|
||||
typename std::enable_if_t<std::is_arithmetic<T>::value, T> min(T a, T b, Ts... args) {
|
||||
typename std::enable_if_t<std::is_arithmetic_v<T>, T> min(T a, T b, Ts... args) {
|
||||
return min(a, min(b, args...));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user