[libcxx-commits] [PATCH] D113161: [libc++] Implement P1989R2: range constructor for string_view

Joe Loser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Nov 24 07:53:24 PST 2021


jloser updated this revision to Diff 389502.
jloser marked 2 inline comments as done.
jloser added a comment.

Try to avoid definition of `std::string_view::operator!=` with same mangled name as another definition on windows builds.

This is done by introducing a backported `std::type_identity_t` and using it in `string_view::operator!=`. It's backported since we supported `string_view` in earlier standards and `std::type_identity_t` is C++20 or later.

I think this workaround may not be needed once we implement `operator<=>` for `string_view` and then we'd remove `operator!=` and friends in favor of `operator==` and `operator<=>`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113161/new/

https://reviews.llvm.org/D113161

Files:
  libcxx/docs/Status/Cxx2bPapers.csv
  libcxx/include/filesystem
  libcxx/include/string_view
  libcxx/include/type_traits
  libcxx/test/std/strings/string.view/string.view.cons/deduct.pass.cpp
  libcxx/test/std/strings/string.view/string.view.cons/from_range.pass.cpp
  libcxx/test/std/strings/string.view/string.view.deduct/iterator_sentinel.pass.cpp
  libcxx/test/std/strings/string.view/string.view.deduct/range.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113161.389502.patch
Type: text/x-patch
Size: 14590 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20211124/c4cf8899/attachment.bin>


More information about the libcxx-commits mailing list