gcc/libstdc++-v3/include/debug
Jonathan Wakely 37f33df706 libstdc++: Define C++20 range utilities and range factories
This adds another chunk of the <ranges> header.

The changes from P1456R1 (Move-only views) and P1862R1 (Range adaptors
for non-copyable iterators) are included, but not the changes from
P1870R1 (forwarding-range<T> is too subtle).

The tests for subrange and iota_view are poor and should be improved.

	* include/bits/regex.h (match_results): Specialize __enable_view_impl.
	* include/bits/stl_set.h (set): Likewise.
	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
	Likewise.
	* include/debug/multiset.h (__debug::multiset): Likewise.
	* include/debug/set.h (__debug::set): Likewise.
	* include/debug/unordered_set (__debug::unordered_set)
	(__debug::unordered_multiset): Likewise.
	* include/std/ranges (ranges::view, ranges::enable_view)
	(ranges::view_interface, ranges::subrange, ranges::empty_view)
	(ranges::single_view, ranges::views::single, ranges::iota_view)
	(ranges::views::iota): Define for C++20.
	* testsuite/std/ranges/empty_view.cc: New test.
	* testsuite/std/ranges/iota_view.cc: New test.
	* testsuite/std/ranges/single_view.cc: New test.
	* testsuite/std/ranges/view.cc: New test.

From-SVN: r278370
2019-11-17 01:07:54 +00:00
..
array Implement C++20 constexpr comparison operators for __debug::array (P1023). 2019-09-30 20:33:51 +00:00
assertions.h Update copyright years. 2019-01-01 13:31:55 +01:00
bitset Update copyright years. 2019-01-01 13:31:55 +01:00
debug.h Update copyright years. 2019-01-01 13:31:55 +01:00
deque Update copyright years. 2019-01-01 13:31:55 +01:00
formatter.h Update copyright years. 2019-01-01 13:31:55 +01:00
forward_list Improve _GLIBCXX_DEBUG safe iterator range size computation. 2019-10-04 20:22:11 +00:00
functions.h stl_algo.h (merge): Fix documentation. 2019-09-28 21:11:55 +00:00
helper_functions.h Only qualify function as constexpr for C++14 and later 2019-10-23 17:14:50 +01:00
list Improve _GLIBCXX_DEBUG safe iterator range size computation. 2019-10-04 20:22:11 +00:00
macros.h stl_algo.h (merge): Fix documentation. 2019-09-28 21:11:55 +00:00
map Update copyright years. 2019-01-01 13:31:55 +01:00
map.h re PR libstdc++/89477 (Incorrect CTAD deduction guides for set and multiset) 2019-03-08 05:53:09 +00:00
multimap.h re PR libstdc++/89477 (Incorrect CTAD deduction guides for set and multiset) 2019-03-08 05:53:09 +00:00
multiset.h libstdc++: Define C++20 range utilities and range factories 2019-11-17 01:07:54 +00:00
safe_base.h Update copyright years. 2019-01-01 13:31:55 +01:00
safe_container.h Update copyright years. 2019-01-01 13:31:55 +01:00
safe_iterator.h Update copyright years. 2019-01-01 13:31:55 +01:00
safe_iterator.tcc Improve _GLIBCXX_DEBUG safe iterator range size computation. 2019-10-04 20:22:11 +00:00
safe_local_iterator.h Update copyright years. 2019-01-01 13:31:55 +01:00
safe_local_iterator.tcc Update copyright years. 2019-01-01 13:31:55 +01:00
safe_sequence.h Update copyright years. 2019-01-01 13:31:55 +01:00
safe_sequence.tcc Update copyright years. 2019-01-01 13:31:55 +01:00
safe_unordered_base.h Update copyright years. 2019-01-01 13:31:55 +01:00
safe_unordered_container.h Update copyright years. 2019-01-01 13:31:55 +01:00
safe_unordered_container.tcc Update copyright years. 2019-01-01 13:31:55 +01:00
set Update copyright years. 2019-01-01 13:31:55 +01:00
set.h libstdc++: Define C++20 range utilities and range factories 2019-11-17 01:07:54 +00:00
stl_iterator.h Update copyright years. 2019-01-01 13:31:55 +01:00
string Update copyright years. 2019-01-01 13:31:55 +01:00
unordered_map re PR libstdc++/89477 (Incorrect CTAD deduction guides for set and multiset) 2019-03-08 05:53:09 +00:00
unordered_set libstdc++: Define C++20 range utilities and range factories 2019-11-17 01:07:54 +00:00
vector PR libstdc++/87431 re-adjust never-valueless optimizations 2019-04-05 17:56:09 +01:00