8sa1-gcc/libstdc++-v3/include
Patrick Palka 613c932f5e libstdc++: Implement ranges [specialized.algorithms]
This implements all the ranges members defined in [specialized.algorithms]:

  ranges::uninitialized_default_construct
  ranges::uninitialized_value_construct
  ranges::uninitialized_copy
  ranges::uninitialized_copy_n
  ranges::uninitialized_move
  ranges::uninitialized_move_n
  ranges::uninitialized_fill
  ranges::uninitialized_fill_n
  ranges::construct_at
  ranges::destroy_at
  ranges::destroy

It also implements (hopefully correctly) the "obvious" optimizations for these
algos, namely that if the output range has a trivial value type and if the
appropriate operation won't throw then we can dispatch to the standard ranges
version of the algorithm which will then potentially enable further
optimizations.

libstdc++-v3/ChangeLog:

	* include/Makefile.am: Add <bits/ranges_uninitialized.h>.
	* include/Makefile.in: Regenerate.
	* include/bits/ranges_uninitialized.h: New header.
	* include/std/memory: Include it.
	* testsuite/20_util/specialized_algorithms/destroy/constrained.cc: New
	test.
	* .../uninitialized_copy/constrained.cc: New test.
	* .../uninitialized_default_construct/constrained.cc: New test.
	* .../uninitialized_fill/constrained.cc: New test.
	* .../uninitialized_move/constrained.cc: New test.
	* .../uninitialized_value_construct/constrained.cc: New test.
2020-02-13 15:22:28 -05:00
..
backward Update copyright years. 2020-01-01 12:51:42 +01:00
bits libstdc++: Implement ranges [specialized.algorithms] 2020-02-13 15:22:28 -05:00
c Update copyright years. 2020-01-01 12:51:42 +01:00
c_compatibility Update copyright years. 2020-01-01 12:51:42 +01:00
c_global Update copyright years. 2020-01-01 12:51:42 +01:00
c_std Update copyright years. 2020-01-01 12:51:42 +01:00
debug Update copyright years. 2020-01-01 12:51:42 +01:00
decimal Update copyright years. 2020-01-01 12:51:42 +01:00
experimental libstdc++: Fix testsuite failures and warnings due to is_pod deprecation 2020-01-09 21:31:50 +00:00
ext libstdc++: Implement P1878R1 "Constraining Readable Types" 2020-02-07 16:58:43 +00:00
parallel Update copyright years. 2020-01-01 12:51:42 +01:00
precompiled Update copyright years. 2020-01-01 12:51:42 +01:00
pstl Restore enable_if lost during original import of pstl 2019-12-11 03:38:24 +00:00
std libstdc++: Implement ranges [specialized.algorithms] 2020-02-13 15:22:28 -05:00
tr1 Update copyright years. 2020-01-01 12:51:42 +01:00
tr2 Update copyright years. 2020-01-01 12:51:42 +01:00
Makefile.am libstdc++: Implement ranges [specialized.algorithms] 2020-02-13 15:22:28 -05:00
Makefile.in libstdc++: Implement ranges [specialized.algorithms] 2020-02-13 15:22:28 -05:00