]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Add P1206R7 from_range members to std::string [PR111055]
authorJonathan Wakely <jwakely@redhat.com>
Thu, 10 Apr 2025 12:40:53 +0000 (13:40 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 11 Apr 2025 10:18:30 +0000 (11:18 +0100)
commit882d3b319dbf50ae64080731a1398031c100b7c7
tree709dcbc0553cc9935f3090e292ad7f0dea2d2163
parent3b33d792cf1e4d2ea3d36d3ad403cbb452243cd8
libstdc++: Add P1206R7 from_range members to std::string [PR111055]

This is the last piece of P1206R7, adding new members to
std::basic_string.

libstdc++-v3/ChangeLog:

PR libstdc++/111055
* include/bits/basic_string.h (_S_copy_range): New function.
(basic_string(from_range_t, R%%, const Alloc&)): New
constructor.
(append_range, assign_range, insert_range, replace_with_range):
New functions.
* include/bits/cow_string.h: Likewise.
* testsuite/21_strings/basic_string/cons/from_range.cc: New
test.
* testsuite/21_strings/basic_string/modifiers/append/append_range.cc:
New test.
* testsuite/21_strings/basic_string/modifiers/assign/assign_range.cc:
New test.
* testsuite/21_strings/basic_string/modifiers/insert/insert_range.cc:
New test.
* testsuite/21_strings/basic_string/modifiers/replace/replace_with_range.cc:
New test.

Co-authored-by: Tomasz KamiƄski <tkaminsk@redhat.com>
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/bits/cow_string.h
libstdc++-v3/testsuite/21_strings/basic_string/cons/from_range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/append_range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/assign_range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/insert_range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/replace_with_range.cc [new file with mode: 0644]