Yu-hsin Wang has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/66351?usp=email )
Change subject: systemc: replace the deprecated std::iterator
......................................................................
systemc: replace the deprecated std::iterator
std::iterator is deprecated in c++17. We can just declare the
required types for iterator traits directly without the helper.
Change-Id: I789e2c2b13e56cc391527686109df8b779474d09
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/66351
Reviewed-by: Gabe Black <gabebl...@google.com>
Maintainer: Gabe Black <gabebl...@google.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/systemc/ext/utils/sc_vector.hh
1 file changed, 23 insertions(+), 9 deletions(-)
Approvals:
kokoro: Regressions pass
Gabe Black: Looks good to me, approved; Looks good to me, approved
diff --git a/src/systemc/ext/utils/sc_vector.hh
b/src/systemc/ext/utils/sc_vector.hh
index ef0d7dc..c1d9ded 100644
--- a/src/systemc/ext/utils/sc_vector.hh
+++ b/src/systemc/ext/utils/sc_vector.hh
@@ -49,6 +49,7 @@
#include <stdint.h>
+#include <cstddef>
#include <exception>
#include <iterator>
#include <vector>
@@ -259,10 +260,7 @@
template <typename Element,
typename AccessPolicy=sc_direct_access<Element> >
-class sc_vector_iter :
- public std::iterator<std::random_access_iterator_tag,
- typename AccessPolicy::Type>,
- private AccessPolicy
+class sc_vector_iter : private AccessPolicy
{
private:
typedef Element ElementType;
@@ -282,8 +280,6 @@
template <typename, typename>
friend class sc_vector_iter;
- typedef std::iterator<std::random_access_iterator_tag, AccessType>
- BaseType;
typedef sc_vector_iter ThisType;
typedef sc_vector<PlainType> VectorType;
typedef std::vector<void *> StorageType;
@@ -315,9 +311,11 @@
// Conforms to Random Access Iterator category.
// See ISO/IEC 14882:2003(E), 24.1 [lib.iterator.requirements]
- typedef typename BaseType::difference_type difference_type;
- typedef typename BaseType::reference reference;
- typedef typename BaseType::pointer pointer;
+ using difference_type = std::ptrdiff_t;
+ using value_type = typename AccessPolicy::Type;
+ using reference = typename AccessPolicy::Type &;
+ using pointer = typename AccessPolicy::Type *;
+ using iterator_category = std::random_access_iterator_tag;
sc_vector_iter() : Policy(), it_() {}
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/66351?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I789e2c2b13e56cc391527686109df8b779474d09
Gerrit-Change-Number: 66351
Gerrit-PatchSet: 3
Gerrit-Owner: Yu-hsin Wang <yuhsi...@google.com>
Gerrit-Reviewer: Earl Ou <shunhsin...@google.com>
Gerrit-Reviewer: Gabe Black <gabe.bl...@gmail.com>
Gerrit-Reviewer: Gabe Black <gabebl...@google.com>
Gerrit-Reviewer: Yu-hsin Wang <yuhsi...@google.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org