@@ -42,7 +42,7 @@ struct ConstIterator {
42
42
43
43
struct ConstRACIterator {
44
44
private:
45
- int value;
45
+ const int * value;
46
46
47
47
public:
48
48
using iterator_category = std::random_access_iterator_tag;
@@ -51,10 +51,10 @@ struct ConstRACIterator {
51
51
using reference = const int &;
52
52
using difference_type = int ;
53
53
54
- ConstRACIterator (int value) : value(value) {}
54
+ ConstRACIterator (const int * value) : value(value) {}
55
55
ConstRACIterator (const ConstRACIterator &other) = default ;
56
56
57
- const int &operator *() const { return value; }
57
+ const int &operator *() const { return * value; }
58
58
59
59
ConstRACIterator &operator ++() {
60
60
value++;
@@ -97,7 +97,7 @@ struct ConstRACIterator {
97
97
// Same as ConstRACIterator, but operator+= returns a reference to this.
98
98
struct ConstRACIteratorRefPlusEq {
99
99
private:
100
- int value;
100
+ const int * value;
101
101
102
102
public:
103
103
using iterator_category = std::random_access_iterator_tag;
@@ -106,10 +106,10 @@ struct ConstRACIteratorRefPlusEq {
106
106
using reference = const int &;
107
107
using difference_type = int ;
108
108
109
- ConstRACIteratorRefPlusEq (int value) : value(value) {}
109
+ ConstRACIteratorRefPlusEq (const int * value) : value(value) {}
110
110
ConstRACIteratorRefPlusEq (const ConstRACIteratorRefPlusEq &other) = default ;
111
111
112
- const int &operator *() const { return value; }
112
+ const int &operator *() const { return * value; }
113
113
114
114
ConstRACIteratorRefPlusEq &operator ++() {
115
115
value++;
@@ -918,7 +918,7 @@ struct InputOutputConstIterator {
918
918
919
919
struct MutableRACIterator {
920
920
private:
921
- int value;
921
+ int * value;
922
922
923
923
public:
924
924
struct iterator_category : std::random_access_iterator_tag,
@@ -928,11 +928,11 @@ struct MutableRACIterator {
928
928
using reference = const int &;
929
929
using difference_type = int ;
930
930
931
- MutableRACIterator (int value) : value(value) {}
931
+ MutableRACIterator (int * value) : value(value) {}
932
932
MutableRACIterator (const MutableRACIterator &other) = default ;
933
933
934
- const int &operator *() const { return value; }
935
- int &operator *() { return value; }
934
+ const int &operator *() const { return * value; }
935
+ int &operator *() { return * value; }
936
936
937
937
MutableRACIterator &operator ++() {
938
938
value++;
0 commit comments