[PATCH] D37994: Implement LWG2946: More ambiguity in `string` vs. `string_view`

Marshall Clow via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 18 13:43:14 PDT 2017


mclow.lists created this revision.

See https://wg21.link/lwg2946 for details.

This issue has not yet been adopted by WG21, but I implemented it to make sure that there were no problems in the proposed resolution.

It turns out that there was. Making these changes lost the ability to construct a `basic_string` (w/o template parameters) from a `string_view`; i.e, the implicit deduction guides were no longer sufficient.  So I added a couple of explicit deduction guides.

This will not be committed until after WG21 has approved this resolution.


https://reviews.llvm.org/D37994

Files:
  include/string
  test/std/strings/basic.string/string.cons/string_view.pass.cpp
  test/std/strings/basic.string/string.cons/string_view_assignment.pass.cpp
  test/std/strings/basic.string/string.modifiers/string_append/string_view.pass.cpp
  test/std/strings/basic.string/string.modifiers/string_assign/string_view.pass.cpp
  test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp
  test/std/strings/basic.string/string.modifiers/string_op_plus_equal/string.pass.cpp
  test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string_view.pass.cpp
  test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp
  test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
  test/std/strings/basic.string/string.ops/string_compare/string_view.pass.cpp
  test/std/strings/basic.string/string.ops/string_find.first.not.of/string_view_size.pass.cpp
  test/std/strings/basic.string/string.ops/string_find.first.of/string_view_size.pass.cpp
  test/std/strings/basic.string/string.ops/string_find.last.not.of/string_view_size.pass.cpp
  test/std/strings/basic.string/string.ops/string_find.last.of/string_view_size.pass.cpp
  test/std/strings/basic.string/string.ops/string_find/string_view_size.pass.cpp
  test/std/strings/basic.string/string.ops/string_rfind/string_view_size.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37994.115709.patch
Type: text/x-patch
Size: 42642 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170918/06809acf/attachment-0001.bin>


More information about the cfe-commits mailing list