Use `_t` and `_v` version of traits.
Instead of accessing `::type` or `::value` use the `_t` and `_v` version
of the trait methods.
Change-Id: I013d928cc375beb99a420790b9737e7122823d0f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/239096
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/utils/rtti/traits.h b/src/tint/utils/rtti/traits.h
index 11830eb..4c044e5 100644
--- a/src/tint/utils/rtti/traits.h
+++ b/src/tint/utils/rtti/traits.h
@@ -71,21 +71,21 @@
template <typename R, typename... ARGS>
struct SignatureOf<R (*)(ARGS...)> {
/// The signature of the function-like object `F`
- using type = Signature<typename std::decay<R>::type, typename std::decay<ARGS>::type...>;
+ using type = Signature<typename std::decay_t<R>, typename std::decay_t<ARGS>...>;
};
/// SignatureOf specialization for a non-static method.
template <typename R, typename C, typename... ARGS>
struct SignatureOf<R (C::*)(ARGS...)> {
/// The signature of the function-like object `F`
- using type = Signature<typename std::decay<R>::type, typename std::decay<ARGS>::type...>;
+ using type = Signature<typename std::decay_t<R>, typename std::decay_t<ARGS>...>;
};
/// SignatureOf specialization for a non-static, const method.
template <typename R, typename C, typename... ARGS>
struct SignatureOf<R (C::*)(ARGS...) const> {
/// The signature of the function-like object `F`
- using type = Signature<typename std::decay<R>::type, typename std::decay<ARGS>::type...>;
+ using type = Signature<typename std::decay_t<R>, typename std::decay_t<ARGS>...>;
};
/// SignatureOfT is an alias to `typename SignatureOf<F>::type`.
@@ -107,13 +107,13 @@
/// Returns true iff decayed T and decayed U are the same.
template <typename T, typename U>
-static constexpr bool IsType = std::is_same<std::decay_t<T>, std::decay_t<U>>::value;
+static constexpr bool IsType = std::is_same_v<std::decay_t<T>, std::decay_t<U>>;
/// IsTypeOrDerived<T, BASE> is true iff `T` is of type `BASE`, or derives from
/// `BASE`.
template <typename T, typename BASE>
static constexpr bool IsTypeOrDerived =
- std::is_base_of<BASE, std::decay_t<T>>::value || std::is_same<BASE, std::decay_t<T>>::value;
+ std::is_base_of_v<BASE, std::decay_t<T>> || std::is_same_v<BASE, std::decay_t<T>>;
/// If `T` is of type `BASE`, or derives from `BASE`, then EnableIfIsType
/// resolves to type `T`, otherwise an invalid type.