Skip to content

Commit ab54e00

Browse files
burblebeetkoeppe
authored andcommitted
LWG3712 chunk_view and slide_view should not be default_initializable
1 parent 0416e7e commit ab54e00

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

source/ranges.tex

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10919,8 +10919,8 @@
1091910919
template<@\libconcept{view}@ V>
1092010920
requires @\libconcept{input_range}@<V>
1092110921
class chunk_view : public view_interface<chunk_view<V>> {
10922-
V @\exposid{base_}@ = V(); // \expos
10923-
range_difference_t<V> @\exposid{n_}@ = 0; // \expos
10922+
V @\exposid{base_}@; // \expos
10923+
range_difference_t<V> @\exposid{n_}@; // \expos
1092410924
range_difference_t<V> @\exposid{remainder_}@ = 0; // \expos
1092510925

1092610926
@\exposid{non-propagating-cache}@<iterator_t<V>> @\exposid{current_}@; // \expos
@@ -10932,7 +10932,6 @@
1093210932
class @\exposid{inner-iterator}@; // \expos
1093310933

1093410934
public:
10935-
chunk_view() requires @\libconcept{default_initializable}@<V> = default;
1093610935
constexpr explicit chunk_view(V base, range_difference_t<V> n);
1093710936

1093810937
constexpr V base() const & requires @\libconcept{copy_constructible}@<V> { return @\exposid{base_}@; }
@@ -11351,14 +11350,13 @@
1135111350
template<@\libconcept{view}@ V>
1135211351
requires @\libconcept{forward_range}@<V>
1135311352
class chunk_view<V> : public view_interface<chunk_view<V>> {
11354-
V @\exposid{base_}@ = V(); // \expos
11355-
range_difference_t<V> @\exposid{n_}@ = 0; // \expos
11353+
V @\exposid{base_}@; // \expos
11354+
range_difference_t<V> @\exposid{n_}@; // \expos
1135611355

1135711356
// \ref{range.chunk.fwd.iter}, class template \tcode{chunk_view::\exposid{iterator}}
1135811357
template<bool> class @\exposid{iterator}@; // \expos
1135911358

1136011359
public:
11361-
chunk_view() requires @\libconcept{default_initializable}@<V> = default;
1136211360
constexpr explicit chunk_view(V base, range_difference_t<V> n);
1136311361

1136411362
constexpr V base() const & requires @\libconcept{copy_constructible}@<V> { return @\exposid{base_}@; }
@@ -11884,8 +11882,8 @@
1188411882
template<@\libconcept{forward_range}@ V>
1188511883
requires @\libconcept{view}@<V>
1188611884
class slide_view : public view_interface<slide_view<V>> {
11887-
V @\exposid{base_}@ = V(); // \expos
11888-
range_difference_t<V> @\exposid{n_}@ = 0; // \expos
11885+
V @\exposid{base_}@; // \expos
11886+
range_difference_t<V> @\exposid{n_}@; // \expos
1188911887

1189011888
// \ref{range.slide.iterator}, class template \tcode{slide_view::\exposid{iterator}}
1189111889
template<bool> class @\exposid{iterator}@; // \expos
@@ -11894,7 +11892,6 @@
1189411892
class @\exposid{sentinel}@; // \expos
1189511893

1189611894
public:
11897-
slide_view() requires @\libconcept{default_initializable}@<V> = default;
1189811895
constexpr explicit slide_view(V base, range_difference_t<V> n);
1189911896

1190011897
constexpr auto begin()

0 commit comments

Comments
 (0)