[libc++][ranges] Implement the changes to vector from P1206 (`ranges::to`):
authorvarconst <varconsteq@gmail.com>
Tue, 9 May 2023 06:40:21 +0000 (23:40 -0700)
committerKonstantin Varlamov <varconst@apple.com>
Tue, 9 May 2023 06:40:55 +0000 (23:40 -0700)
commit17bbb224f99cf6fde83aa68e2e22e70fe9ed77be
tree1208519e55b83c22ce35be88a5b066977f3818c0
parentc60461e3f8154ade8e542e64d1711f975adac8d0
[libc++][ranges] Implement the changes to vector from P1206 (`ranges::to`):

- add the `from_range_t` constructors and the related deduction guides;
- add the `insert_range`/`assign_range`/etc. member functions.
(Note: this patch is split from https://reviews.llvm.org/D142335)

Differential Revision: https://reviews.llvm.org/D149826
25 files changed:
libcxx/docs/Status/Cxx2bPapers.csv
libcxx/include/CMakeLists.txt
libcxx/include/__ranges/container_compatible_range.h [new file with mode: 0644]
libcxx/include/__ranges/from_range.h [new file with mode: 0644]
libcxx/include/__split_buffer
libcxx/include/module.modulemap.in
libcxx/include/ranges
libcxx/include/vector
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/std/containers/from_range_helpers.h [new file with mode: 0644]
libcxx/test/std/containers/insert_range_helpers.h [new file with mode: 0644]
libcxx/test/std/containers/sequences/from_range_sequence_containers.h [new file with mode: 0644]
libcxx/test/std/containers/sequences/insert_range_sequence_containers.h [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector.bool/construct_from_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector/vector.cons/construct_from_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector/vector.cons/deduct.pass.cpp
libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp [new file with mode: 0644]
libcxx/test/std/ranges/range.utility/range.utility.conv/from_range_t.compile.pass.cpp [new file with mode: 0644]
libcxx/test/support/deduction_guides_sfinae_checks.h