[libcxx-commits] [PATCH] D93912: [libc++][P1679] add string contains

Marek Kurdej via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 11 05:24:30 PST 2021

curdeius requested changes to this revision.
curdeius added inline comments.
This revision now requires changes to proceed.

Comment at: libcxx/include/string:1442
+    bool contains(__self_view __sv) const _NOEXCEPT
+    { return __self_view(data(), size()).contains(__sv); }
Mordante wrote:
> Wouldn't it be better to use `constexpr` and `noexcept` since the code is never compiled using C++98.
@WimLeflere, please use `constexpr` and `noexcept` directly as suggested above.

Comment at: libcxx/test/std/strings/basic.string/string.contains/contains.char.pass.cpp:21
+    using S = std::string;
You cannot just use std::string as it's not constexpr-friendly (yet), but need to use a constexpr-loving allocator or do some other hacks.

Comment at: libcxx/test/std/strings/string.view/string.view.template/contains.string_view.pass.cpp:8
+// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
You should still use "c++2a" and not "c++20" as it's derived from the flag name (and we still use c++2a).
The same applies to all other tests.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list