Gabriel B. has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/71839?usp=email )
Change subject: base: define is_std_hash_enabled type trait
......................................................................
base: define is_std_hash_enabled type trait
M src/base/type_traits.hh
1 file changed, 11 insertions(+), 0 deletions(-)
Approvals:
Bobby Bruce: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/base/type_traits.hh b/src/base/type_traits.hh
index a42f786..fd13044 100644
--- a/src/base/type_traits.hh
+++ b/src/base/type_traits.hh
@@ -105,6 +105,17 @@
template <typename T>
constexpr bool is_iterable_v = is_iterable<T>::value;
+// std::hash-enabled type trait
+template <typename, typename = void>
+struct is_std_hash_enabled: std::false_type {};
+
+template <typename T>
+struct is_std_hash_enabled<T,
- std::void_t<decltype(std::hash<T>())>>: std::true_type {};
+template <typename T>
+constexpr bool is_std_hash_enabled_v = is_std_hash_enabled<T>::value;
+
} // namespace gem5
#endif // BASE_TYPETRAITS_HH
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/71839?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I7ffb7f80a90006d6b8cd42bdf3d63e34c6dbda01
Gerrit-Change-Number: 71839
Gerrit-PatchSet: 4
Gerrit-Owner: Gabriel B. gabriel.busnot@arteris.com
Gerrit-Reviewer: Bobby Bruce bbruce@ucdavis.edu
Gerrit-Reviewer: Daniel Carvalho odanrc@yahoo.com.br
Gerrit-Reviewer: Gabriel B. gabriel.busnot@arteris.com
Gerrit-Reviewer: kokoro noreply+kokoro@google.com
Gerrit-CC: kokoro noreply+kokoro@google.com
Gabriel B. has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/71839?usp=email )
Change subject: base: define is_std_hash_enabled type trait
......................................................................
base: define is_std_hash_enabled type trait
Change-Id: I7ffb7f80a90006d6b8cd42bdf3d63e34c6dbda01
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71839
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
---
M src/base/type_traits.hh
1 file changed, 11 insertions(+), 0 deletions(-)
Approvals:
Bobby Bruce: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/base/type_traits.hh b/src/base/type_traits.hh
index a42f786..fd13044 100644
--- a/src/base/type_traits.hh
+++ b/src/base/type_traits.hh
@@ -105,6 +105,17 @@
template <typename T>
constexpr bool is_iterable_v = is_iterable<T>::value;
+// std::hash-enabled type trait
+template <typename, typename = void>
+struct is_std_hash_enabled: std::false_type {};
+
+template <typename T>
+struct is_std_hash_enabled<T,
+ std::void_t<decltype(std::hash<T>())>>: std::true_type {};
+
+template <typename T>
+constexpr bool is_std_hash_enabled_v = is_std_hash_enabled<T>::value;
+
} // namespace gem5
#endif // BASE_TYPETRAITS_HH
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/71839?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I7ffb7f80a90006d6b8cd42bdf3d63e34c6dbda01
Gerrit-Change-Number: 71839
Gerrit-PatchSet: 4
Gerrit-Owner: Gabriel B. <gabriel.busnot@arteris.com>
Gerrit-Reviewer: Bobby Bruce <bbruce@ucdavis.edu>
Gerrit-Reviewer: Daniel Carvalho <odanrc@yahoo.com.br>
Gerrit-Reviewer: Gabriel B. <gabriel.busnot@arteris.com>
Gerrit-Reviewer: kokoro <noreply+kokoro@google.com>
Gerrit-CC: kokoro <noreply+kokoro@google.com>