gcc/libstdc++-v3/include/std
Jonathan Wakely ed920373a5 Implement new serial algorithms from Parallelism TS (P0024R2)
These new (non-parallel) algorithms were added to C++17 along with the
parallel algorithms, but were missing from libstdc++.

	* include/bits/algorithmfwd.h: Change title of doc group.
	* include/bits/stl_algo.h (for_each_n): Add new C++17 algorithm from
	P0024R2.
	* include/bits/stl_numeric.h: Define doc group and add algos to it.
	* include/std/numeric (__is_random_access_iter): New internal trait.
	(reduce, transform_reduce, exclusive_scan, inclusive_scan)
	(transform_exclusive_scan, transform_inclusive_scan): Likewise.
	* testsuite/25_algorithms/for_each/for_each_n.cc: New test.
	* testsuite/26_numerics/exclusive_scan/1.cc: New test.
	* testsuite/26_numerics/inclusive_scan/1.cc: New test.
	* testsuite/26_numerics/reduce/1.cc: New test.
	* testsuite/26_numerics/transform_exclusive_scan/1.cc: New test.
	* testsuite/26_numerics/transform_inclusive_scan/1.cc: New test.
	* testsuite/26_numerics/transform_reduce/1.cc: New test.
	* testsuite/util/testsuite_iterators.h (test_container::size()): New
	member function.

From-SVN: r272459
2019-06-19 00:01:16 +01:00
..
algorithm Fix incorrect __cpp_lib_parallel_algorithm macro definitions 2019-06-12 21:16:03 +01:00
any Make any_cast compare typeinfo as well as function pointers 2019-05-23 15:13:18 +01:00
array Avoid unnecessary inclusion of <stdexcept> header 2019-06-06 16:34:56 +01:00
atomic re PR libstdc++/89641 (std::atomic<T> no longer works) 2019-03-11 12:49:13 +01:00
bit Update copyright years. 2019-01-01 13:31:55 +01:00
bitset Update copyright years. 2019-01-01 13:31:55 +01:00
charconv Replace std::to_string for integers with optimized version 2019-06-12 15:52:02 +01:00
chrono Improve API docs for <chrono> and <ratio> 2019-05-07 23:46:53 +01:00
codecvt Update copyright years. 2019-01-01 13:31:55 +01:00
complex PR libstdc++/61761 fix std::proj for targets without C99 cproj 2019-05-01 01:08:36 +01:00
condition_variable Update copyright years. 2019-01-01 13:31:55 +01:00
deque Define __cpp_lib_erase_if feature test macro 2019-01-10 13:49:31 +00:00
execution Synchronize libstdc++ PSTL with upstream LLVM PSTL 2019-06-07 22:01:16 +00:00
filesystem Improve docs for C++17 Filesystem library 2019-05-02 16:46:38 +01:00
forward_list Avoid ambiguity between C++2a std::erase_if and LFTS version 2019-01-29 00:47:38 +00:00
fstream Miscellaneous API doc improvements 2019-05-02 16:46:50 +01:00
functional Use INVOKE<R> in std::function, std::bind and std::packaged_task 2019-05-14 16:25:08 +01:00
future LWG 2921 remove packaged_task constructors taking allocators 2019-05-23 22:40:56 +01:00
iomanip Update copyright years. 2019-01-01 13:31:55 +01:00
ios Update copyright years. 2019-01-01 13:31:55 +01:00
iosfwd Update copyright years. 2019-01-01 13:31:55 +01:00
iostream Update copyright years. 2019-01-01 13:31:55 +01:00
istream Update copyright years. 2019-01-01 13:31:55 +01:00
iterator Reduce header dependencies in <iterator> 2019-05-14 13:47:39 +01:00
limits P0482R5 char8_t: Standard library support 2019-02-19 02:54:42 +00:00
list Avoid ambiguity between C++2a std::erase_if and LFTS version 2019-01-29 00:47:38 +00:00
locale Update copyright years. 2019-01-01 13:31:55 +01:00
map Update copyright years. 2019-01-01 13:31:55 +01:00
memory Fix incorrect __cpp_lib_parallel_algorithm macro definitions 2019-06-12 21:16:03 +01:00
memory_resource Implement polymorphic_allocator<byte> for C++20 (P0339R6) 2019-03-04 12:21:06 +00:00
mutex Simplify std::scoped_lock destructor 2019-06-12 15:52:06 +01:00
numeric Implement new serial algorithms from Parallelism TS (P0024R2) 2019-06-19 00:01:16 +01:00
optional Avoid unnecessary inclusion of <stdexcept> header 2019-06-06 16:34:56 +01:00
ostream Implement LWG 2221: formatted output operator for nullptr 2019-01-10 13:14:57 +00:00
queue Update copyright years. 2019-01-01 13:31:55 +01:00
random Update copyright years. 2019-01-01 13:31:55 +01:00
ratio Improve API docs for <chrono> and <ratio> 2019-05-07 23:46:53 +01:00
regex Update copyright years. 2019-01-01 13:31:55 +01:00
scoped_allocator Improve API docs for <memory> and <scoped_allocator> 2019-05-02 16:45:04 +01:00
set Update copyright years. 2019-01-01 13:31:55 +01:00
shared_mutex Improve docs for mutexes 2019-05-02 16:46:42 +01:00
sstream Update copyright years. 2019-01-01 13:31:55 +01:00
stack Update copyright years. 2019-01-01 13:31:55 +01:00
stdexcept Update copyright years. 2019-01-01 13:31:55 +01:00
streambuf Update copyright years. 2019-01-01 13:31:55 +01:00
string Define std::hash specializations for C++17 PMR strings 2019-04-03 10:47:47 +01:00
string_view Fix basic_string_view typedefs and enforce preconditions 2019-04-24 16:17:53 +01:00
system_error Fix reference to wrong class in comment 2019-05-04 16:52:52 +01:00
thread PR libstdc++/69724 avoid temporary in std::thread construction 2019-05-14 13:01:15 +01:00
tuple Refactor SFINAE constraints on std::tuple constructors 2019-06-06 13:13:36 +01:00
type_traits Disable -Wctor-dtor-privacy warnings for some standard types 2019-06-14 15:03:20 +01:00
typeindex Update copyright years. 2019-01-01 13:31:55 +01:00
unordered_map Update copyright years. 2019-01-01 13:31:55 +01:00
unordered_set Update copyright years. 2019-01-01 13:31:55 +01:00
utility Update copyright years. 2019-01-01 13:31:55 +01:00
valarray Update copyright years. 2019-01-01 13:31:55 +01:00
variant Improve static_assert messages for std::variant 2019-06-12 15:52:09 +01:00
vector Ensure pool resources always use normal mode vector 2019-01-29 00:47:25 +00:00
version Add __cpp_lib_bind_front macro to <version> header 2019-06-14 15:03:16 +01:00