Skip to content

Commit facaa66

Browse files
author
MarcoFalke
committed
refactor: Add missing default constructor to prevector iterators
1 parent 03c5b00 commit facaa66

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/prevector.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,14 @@ class prevector {
4747
typedef const value_type* const_pointer;
4848

4949
class iterator {
50-
T* ptr;
50+
T* ptr{};
5151
public:
5252
typedef Diff difference_type;
5353
typedef T value_type;
5454
typedef T* pointer;
5555
typedef T& reference;
5656
typedef std::random_access_iterator_tag iterator_category;
57+
iterator() = default;
5758
iterator(T* ptr_) : ptr(ptr_) {}
5859
T& operator*() const { return *ptr; }
5960
T* operator->() const { return ptr; }
@@ -77,13 +78,14 @@ class prevector {
7778
};
7879

7980
class reverse_iterator {
80-
T* ptr;
81+
T* ptr{};
8182
public:
8283
typedef Diff difference_type;
8384
typedef T value_type;
8485
typedef T* pointer;
8586
typedef T& reference;
8687
typedef std::bidirectional_iterator_tag iterator_category;
88+
reverse_iterator() = default;
8789
reverse_iterator(T* ptr_) : ptr(ptr_) {}
8890
T& operator*() { return *ptr; }
8991
const T& operator*() const { return *ptr; }
@@ -98,13 +100,14 @@ class prevector {
98100
};
99101

100102
class const_iterator {
101-
const T* ptr;
103+
const T* ptr{};
102104
public:
103105
typedef Diff difference_type;
104106
typedef const T value_type;
105107
typedef const T* pointer;
106108
typedef const T& reference;
107109
typedef std::random_access_iterator_tag iterator_category;
110+
const_iterator() = default;
108111
const_iterator(const T* ptr_) : ptr(ptr_) {}
109112
const_iterator(iterator x) : ptr(&(*x)) {}
110113
const T& operator*() const { return *ptr; }
@@ -128,13 +131,14 @@ class prevector {
128131
};
129132

130133
class const_reverse_iterator {
131-
const T* ptr;
134+
const T* ptr{};
132135
public:
133136
typedef Diff difference_type;
134137
typedef const T value_type;
135138
typedef const T* pointer;
136139
typedef const T& reference;
137140
typedef std::bidirectional_iterator_tag iterator_category;
141+
const_reverse_iterator() = default;
138142
const_reverse_iterator(const T* ptr_) : ptr(ptr_) {}
139143
const_reverse_iterator(reverse_iterator x) : ptr(&(*x)) {}
140144
const T& operator*() const { return *ptr; }

0 commit comments

Comments
 (0)