Skip to content
Snippets Groups Projects
Commit 20165d01 authored by Patrick Palka's avatar Patrick Palka
Browse files

libstdc++/ranges: Implement various small LWG issues


This implements the following small LWG issues:

  3848. adjacent_view, adjacent_transform_view and slide_view missing base accessor
  3851. chunk_view::inner-iterator missing custom iter_move and iter_swap
  3947. Unexpected constraints on adjacent_transform_view::base()
  4001. iota_view should provide empty
  4012. common_view::begin/end are missing the simple-view check
  4013. lazy_split_view::outer-iterator::value_type should not provide default constructor
  4035. single_view should provide empty
  4053. Unary call to std::views::repeat does not decay the argument
  4054. Repeating a repeat_view should repeat the view

libstdc++-v3/ChangeLog:

	* include/std/ranges (single_view::empty): Define as per LWG 4035.
	(iota_view::empty): Define as per LWG 4001.
	(lazy_split_view::_OuterIter::value_type): Remove default
	constructor and make other constructor private as per LWG 4013.
	(common_view::begin): Disable non-const overload for simple
	views as per LWG 4012.
	(common_view::end): Likewise.
	(adjacent_view::base): Define as per LWG 3848.
	(adjacent_transform_view::base): Likewise.
	(chunk_view::_InnerIter::iter_move): Define as per LWG 3851.
	(chunk_view::_InnerIter::itep_swap): Likewise.
	(slide_view::base): Define as per LWG 3848.
	(repeat_view): Adjust deduction guide as per LWG 4053.
	(_Repeat::operator()): Adjust single-parameter overload as per
	LWG 4054.
	* testsuite/std/ranges/adaptors/adjacent/1.cc: Verify existence
	of base member function.
	* testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Likewise.
	* testsuite/std/ranges/adaptors/chunk/1.cc: Test LWG 3851 example.
	* testsuite/std/ranges/adaptors/slide/1.cc: Verify existence of
	base member function.
	* testsuite/std/ranges/iota/iota_view.cc: Test LWG 4001 example.
	* testsuite/std/ranges/repeat/1.cc: Test LWG 4053/4054 examples.

Reviewed-by: default avatarJonathan Wakely <jwakely@redhat.com>
parent c679cafb
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment