@@ -42,32 +42,28 @@ static_assert(HasConstAndNonConstEnd<std::ranges::stride_view<UnSimpleConstView>
4242constexpr bool test_non_default_sentinel () {
4343 {
4444 const int data[3 ] = {1 , 2 , 3 };
45- static_assert (simple_view<BasicTestView<int *, int *>>);
46- static_assert (std::ranges::common_range<BasicTestView<int *, int *>>);
47- static_assert (std::ranges::sized_range<BasicTestView<int *, int *>>);
48- static_assert (std::ranges::forward_range<BasicTestView<int *, int *>>);
49-
5045 // A const, simple, common-, sized- and forward-range
46+ // Note: sized because it is possible to get a difference between its
47+ // beginning and its end.
5148 auto v = BasicTestView<const int *, const int *>{data, data + 3 };
5249 auto sv = std::ranges::stride_view<BasicTestView<const int *, const int *>>(v, 1 );
5350 static_assert (!std::is_same_v<std::default_sentinel_t , decltype (sv.end ())>);
5451 }
5552
5653 {
5754 int data[3 ] = {1 , 2 , 3 };
58- // TODO: start here.
59- using x = BasicTestView<forward_iterator<int *>, forward_iterator<int *>, false >;
60- static_assert (simple_view<BasicTestView<forward_iterator<int *>>>);
61- static_assert (std::ranges::common_range<x>);
62- static_assert (!std::ranges::sized_range<x>);
63- static_assert (!std::ranges::bidirectional_range<x>);
64-
65- auto v = x{forward_iterator (data), forward_iterator (data + 3 )};
66- auto sv = std::ranges::stride_view<x>(v, 1 );
55+ // ForwardTestView is not sized and not bidirectional, but it is common.
56+ // Note: It is not sized because BasicTestView has no member function named size (by default)
57+ // and nor is it possible to get a difference between its beginning and its end.
58+ using ForwardTestView = BasicTestView<forward_iterator<int *>, forward_iterator<int *>>;
59+
60+ auto v = ForwardTestView{forward_iterator (data), forward_iterator (data + 3 )};
61+ auto sv = std::ranges::stride_view<ForwardTestView>(v, 1 );
6762 static_assert (!std::is_same_v<std::default_sentinel_t , decltype (sv.end ())>);
6863 }
6964
7065 {
66+ // TODO: Start here.
7167 static_assert (!simple_view<UnSimpleNoConstCommonView>);
7268 static_assert (std::ranges::common_range<UnSimpleNoConstCommonView>);
7369 static_assert (std::ranges::sized_range<UnSimpleNoConstCommonView>);
0 commit comments