aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/configure.ac
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-10-08 21:15:18 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2024-10-27 20:09:31 +0000
commitb281e13ecad12d07209924a7282c53be3a1c3774 (patch)
tree27ea80332d8c9d23ac65b212c087f5070062dc7c /libstdc++-v3/configure.ac
parentf1c844be5202f4be446f165d9a7625eb7ec4c5b4 (diff)
downloadgcc-b281e13ecad12d07209924a7282c53be3a1c3774.zip
gcc-b281e13ecad12d07209924a7282c53be3a1c3774.tar.gz
gcc-b281e13ecad12d07209924a7282c53be3a1c3774.tar.bz2
libstdc++: Add P1206R7 from_range members to std::vector [PR111055]
This is another piece of P1206R7, adding new members to std::vector and std::vector<bool>. The __uninitialized_copy_a extension needs to be enhanced to support passing non-common ranges (i.e. a sentinel that is a different type from the iterator) and move-only input iterators. libstdc++-v3/ChangeLog: PR libstdc++/111055 * include/bits/ranges_base.h (__container_compatible_range): New concept. * include/bits/stl_bvector.h (vector(from_range, R&&, const Alloc&)) (assign_range, insert_range, append_range): Define. * include/bits/stl_uninitialized.h (__do_uninit_copy): Support non-common ranges. (__uninitialized_copy_a): Likewise. * include/bits/stl_vector.h (_Vector_base::_M_append_range_to): New function. (_Vector_base::_M_append_range): Likewise. (vector(from_range, R&&, const Alloc&), assign_range): Define. (append_range): Define. (insert_range): Declare. * include/debug/vector (vector(from_range, R&&, const Alloc&)) (assign_range, insert_range, append_range): Define. * include/bits/vector.tcc (insert_range): Define. * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_rval): New class template. * testsuite/23_containers/vector/bool/cons/from_range.cc: New test. * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc: New test. * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: New test. * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc: New test. * testsuite/23_containers/vector/cons/from_range.cc: New test. * testsuite/23_containers/vector/modifiers/append_range.cc: New test. * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: New test. * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: New test. Reviewed-by: Patrick Palka <ppalka@redhat.com>
Diffstat (limited to 'libstdc++-v3/configure.ac')
0 files changed, 0 insertions, 0 deletions