[gem5-dev] [S] Change in gem5/gem5[develop]: base: define is_iterable type trait

2023-07-07 Thread Gabriel B. (Gerrit) via gem5-dev
Gabriel B. has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/71838?usp=email )


Change subject: base: define is_iterable type trait
..

base: define is_iterable type trait

Change-Id: I38bb0ddcbb95645797f1d20724b78aff3bef4580
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71838
Maintainer: Daniel Carvalho 
Tested-by: kokoro 
Reviewed-by: Daniel Carvalho 
---
M src/base/type_traits.hh
1 file changed, 16 insertions(+), 3 deletions(-)

Approvals:
  Daniel Carvalho: 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 1fec93d..a42f786 100644
--- a/src/base/type_traits.hh
+++ b/src/base/type_traits.hh
@@ -27,8 +27,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */

-#ifndef __BASE_TYPETRAITS_HH__
-#define __BASE_TYPETRAITS_HH__
+#ifndef BASE_TYPETRAITS_HH
+#define BASE_TYPETRAITS_HH

 #include 
 #include 
@@ -92,6 +92,19 @@
 using MemberFunctionArgsTuple_t =
 typename MemberFunctionSignature::argsTuple_t;

+
+// iterable type trait
+template 
+struct is_iterable: std::false_type {};
+
+template 
+struct is_iterable())),
+decltype(end(std::declval()))>>: std::true_type {};
+
+template 
+constexpr bool is_iterable_v = is_iterable::value;
+
 } // namespace gem5

-#endif // __BASE_TYPETRAITS_HH__
+#endif // BASE_TYPETRAITS_HH

--
To view, visit  
https://gem5-review.googlesource.com/c/public/gem5/+/71838?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: I38bb0ddcbb95645797f1d20724b78aff3bef4580
Gerrit-Change-Number: 71838
Gerrit-PatchSet: 2
Gerrit-Owner: Gabriel B. 
Gerrit-Reviewer: Bobby Bruce 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabriel B. 
Gerrit-Reviewer: kokoro 
Gerrit-CC: Giacomo Travaglini 
Gerrit-CC: kokoro 
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org


[gem5-dev] [S] Change in gem5/gem5[develop]: base: define is_iterable type trait

2023-06-27 Thread Gabriel B. (Gerrit) via gem5-dev
Gabriel B. has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/71838?usp=email )



Change subject: base: define is_iterable type trait
..

base: define is_iterable type trait

Change-Id: I38bb0ddcbb95645797f1d20724b78aff3bef4580
---
M src/base/type_traits.hh
1 file changed, 16 insertions(+), 3 deletions(-)



diff --git a/src/base/type_traits.hh b/src/base/type_traits.hh
index 1fec93d..a42f786 100644
--- a/src/base/type_traits.hh
+++ b/src/base/type_traits.hh
@@ -27,8 +27,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */

-#ifndef __BASE_TYPETRAITS_HH__
-#define __BASE_TYPETRAITS_HH__
+#ifndef BASE_TYPETRAITS_HH
+#define BASE_TYPETRAITS_HH

 #include 
 #include 
@@ -92,6 +92,19 @@
 using MemberFunctionArgsTuple_t =
 typename MemberFunctionSignature::argsTuple_t;

+
+// iterable type trait
+template 
+struct is_iterable: std::false_type {};
+
+template 
+struct is_iterable())),
+decltype(end(std::declval()))>>: std::true_type {};
+
+template 
+constexpr bool is_iterable_v = is_iterable::value;
+
 } // namespace gem5

-#endif // __BASE_TYPETRAITS_HH__
+#endif // BASE_TYPETRAITS_HH

--
To view, visit  
https://gem5-review.googlesource.com/c/public/gem5/+/71838?usp=email
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings?usp=email


Gerrit-MessageType: newchange
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I38bb0ddcbb95645797f1d20724b78aff3bef4580
Gerrit-Change-Number: 71838
Gerrit-PatchSet: 1
Gerrit-Owner: Gabriel B. 
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org