diff --git a/include/sdbusplus/message/append.hpp b/include/sdbusplus/message/append.hpp
index 9e9827b..a0ac9b5 100644
--- a/include/sdbusplus/message/append.hpp
+++ b/include/sdbusplus/message/append.hpp
@@ -88,7 +88,7 @@
 // std::vector/map/unordered_map/set need loops
 template <typename T>
 struct can_append_multiple<
-    T, typename std::enable_if_t<utility::has_const_iterator<T>::value>> :
+    T, typename std::enable_if_t<utility::has_const_iterator_v<T>>> :
     std::false_type
 {};
 // std::pair needs to be broken down into components.
@@ -260,7 +260,7 @@
 /** @brief Specialization of append_single for containers (ie vector, array,
  * set, map, etc) */
 template <typename T>
-struct append_single<T, std::enable_if_t<utility::has_const_iterator<T>::value>>
+struct append_single<T, std::enable_if_t<utility::has_const_iterator_v<T>>>
 {
     template <typename S>
     static void op(sdbusplus::SdBusInterface* intf, sd_bus_message* m, S&& s)
diff --git a/include/sdbusplus/message/read.hpp b/include/sdbusplus/message/read.hpp
index 46721f8..ea58eec 100644
--- a/include/sdbusplus/message/read.hpp
+++ b/include/sdbusplus/message/read.hpp
@@ -91,8 +91,8 @@
 // std::vector/map/unordered_vector/set need loops
 template <typename T>
 struct can_read_multiple<
-    T, typename std::enable_if_t<utility::has_emplace_method<T>::value ||
-                                 utility::has_emplace_back_method<T>::value>> :
+    T, typename std::enable_if_t<utility::has_emplace_method_v<T> ||
+                                 utility::has_emplace_back_method_v<T>>> :
     std::false_type
 {};
 
@@ -233,8 +233,7 @@
 
 /** @brief Specialization of read_single for std::vectors. */
 template <typename T>
-struct read_single<T,
-                   std::enable_if_t<utility::has_emplace_back_method<T>::value>>
+struct read_single<T, std::enable_if_t<utility::has_emplace_back_method_v<T>>>
 {
     template <typename S>
     static void op(sdbusplus::SdBusInterface* intf, sd_bus_message* m, S&& s)
@@ -271,7 +270,7 @@
 
 /** @brief Specialization of read_single for std::map. */
 template <typename T>
-struct read_single<T, std::enable_if_t<utility::has_emplace_method<T>::value>>
+struct read_single<T, std::enable_if_t<utility::has_emplace_method_v<T>>>
 {
     template <typename S>
     static void op(sdbusplus::SdBusInterface* intf, sd_bus_message* m, S&& s)
diff --git a/include/sdbusplus/message/types.hpp b/include/sdbusplus/message/types.hpp
index 1adc9b4..3c956b0 100644
--- a/include/sdbusplus/message/types.hpp
+++ b/include/sdbusplus/message/types.hpp
@@ -222,7 +222,7 @@
 {};
 
 template <typename T>
-struct type_id<T, std::enable_if_t<utility::has_const_iterator<T>::value>> :
+struct type_id<T, std::enable_if_t<utility::has_const_iterator_v<T>>> :
     std::false_type
 {
     static constexpr auto value = std::tuple_cat(
diff --git a/include/sdbusplus/utility/container_traits.hpp b/include/sdbusplus/utility/container_traits.hpp
index eb5d625..2ad993a 100644
--- a/include/sdbusplus/utility/container_traits.hpp
+++ b/include/sdbusplus/utility/container_traits.hpp
@@ -30,6 +30,9 @@
     static constexpr bool value = sizeof(test<T>(0)) == sizeof(yes);
 };
 
+template <typename T>
+inline constexpr bool has_const_iterator_v = has_const_iterator<T>::value;
+
 /** has_emplace_method - Determine if type has a method template named emplace
  *
  *  @tparam T - Type to be tested.
@@ -55,6 +58,9 @@
         std::is_same_v<std::true_type, decltype(test<T, dummy>(nullptr))>;
 };
 
+template <typename T>
+inline constexpr bool has_emplace_method_v = has_emplace_method<T>::value;
+
 /** has_emplace_method - Determine if type has a method template named
  * emplace_back
  *
@@ -81,5 +87,9 @@
         std::is_same_v<std::true_type, decltype(test<T, dummy>(nullptr))>;
 };
 
+template <typename T>
+inline constexpr bool has_emplace_back_method_v =
+    has_emplace_back_method<T>::value;
+
 } // namespace utility
 } // namespace sdbusplus
