@@ -47,13 +47,14 @@ class prevector {
47
47
typedef const value_type* const_pointer;
48
48
49
49
class iterator {
50
- T* ptr;
50
+ T* ptr{} ;
51
51
public:
52
52
typedef Diff difference_type;
53
53
typedef T value_type;
54
54
typedef T* pointer;
55
55
typedef T& reference;
56
56
typedef std::random_access_iterator_tag iterator_category;
57
+ iterator () = default ;
57
58
iterator (T* ptr_) : ptr(ptr_) {}
58
59
T& operator *() const { return *ptr; }
59
60
T* operator ->() const { return ptr; }
@@ -77,13 +78,14 @@ class prevector {
77
78
};
78
79
79
80
class reverse_iterator {
80
- T* ptr;
81
+ T* ptr{} ;
81
82
public:
82
83
typedef Diff difference_type;
83
84
typedef T value_type;
84
85
typedef T* pointer;
85
86
typedef T& reference;
86
87
typedef std::bidirectional_iterator_tag iterator_category;
88
+ reverse_iterator () = default ;
87
89
reverse_iterator (T* ptr_) : ptr(ptr_) {}
88
90
T& operator *() { return *ptr; }
89
91
const T& operator *() const { return *ptr; }
@@ -98,13 +100,14 @@ class prevector {
98
100
};
99
101
100
102
class const_iterator {
101
- const T* ptr;
103
+ const T* ptr{} ;
102
104
public:
103
105
typedef Diff difference_type;
104
106
typedef const T value_type;
105
107
typedef const T* pointer;
106
108
typedef const T& reference;
107
109
typedef std::random_access_iterator_tag iterator_category;
110
+ const_iterator () = default ;
108
111
const_iterator (const T* ptr_) : ptr(ptr_) {}
109
112
const_iterator (iterator x) : ptr(&(*x)) {}
110
113
const T& operator *() const { return *ptr; }
@@ -128,13 +131,14 @@ class prevector {
128
131
};
129
132
130
133
class const_reverse_iterator {
131
- const T* ptr;
134
+ const T* ptr{} ;
132
135
public:
133
136
typedef Diff difference_type;
134
137
typedef const T value_type;
135
138
typedef const T* pointer;
136
139
typedef const T& reference;
137
140
typedef std::bidirectional_iterator_tag iterator_category;
141
+ const_reverse_iterator () = default ;
138
142
const_reverse_iterator (const T* ptr_) : ptr(ptr_) {}
139
143
const_reverse_iterator (reverse_iterator x) : ptr(&(*x)) {}
140
144
const T& operator *() const { return *ptr; }
0 commit comments