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.