@@ -148,14 +148,14 @@ class prevector {
148
148
};
149
149
150
150
private:
151
- size_type _size;
151
+ size_type _size = 0 ;
152
152
union direct_or_indirect {
153
153
char direct[sizeof (T) * N];
154
154
struct {
155
155
size_type capacity;
156
156
char * indirect;
157
157
};
158
- } _union;
158
+ } _union = {} ;
159
159
160
160
T* direct_ptr (difference_type pos) { return reinterpret_cast <T*>(_union.direct ) + pos; }
161
161
const T* direct_ptr (difference_type pos) const { return reinterpret_cast <const T*>(_union.direct ) + pos; }
@@ -246,34 +246,34 @@ class prevector {
246
246
fill (item_ptr (0 ), first, last);
247
247
}
248
248
249
- prevector () : _size( 0 ), _union{{}} {}
249
+ prevector () {}
250
250
251
- explicit prevector (size_type n) : prevector() {
251
+ explicit prevector (size_type n) {
252
252
resize (n);
253
253
}
254
254
255
- explicit prevector (size_type n, const T& val) : prevector() {
255
+ explicit prevector (size_type n, const T& val) {
256
256
change_capacity (n);
257
257
_size += n;
258
258
fill (item_ptr (0 ), n, val);
259
259
}
260
260
261
261
template <typename InputIterator>
262
- prevector (InputIterator first, InputIterator last) : prevector() {
262
+ prevector (InputIterator first, InputIterator last) {
263
263
size_type n = last - first;
264
264
change_capacity (n);
265
265
_size += n;
266
266
fill (item_ptr (0 ), first, last);
267
267
}
268
268
269
- prevector (const prevector<N, T, Size, Diff>& other) : prevector() {
269
+ prevector (const prevector<N, T, Size, Diff>& other) {
270
270
size_type n = other.size ();
271
271
change_capacity (n);
272
272
_size += n;
273
273
fill (item_ptr (0 ), other.begin (), other.end ());
274
274
}
275
275
276
- prevector (prevector<N, T, Size, Diff>&& other) : prevector() {
276
+ prevector (prevector<N, T, Size, Diff>&& other) {
277
277
swap (other);
278
278
}
279
279
0 commit comments