libstdc++: Simplify basic_string_view::ends_with [PR 101361]
The use of npos triggers a diagnostic as described in PR c++/101361. This change replaces the use of npos with the exact length, which is already known. We can further simplify it by inlining the effects of compare and substr, avoiding the redundant range checks in the latter. Signed-off-by: Jonathan Wakely <jwakely@redhat.com> libstdc++-v3/ChangeLog: PR c++/101361 * include/std/string_view (ends_with): Use traits_type::compare directly.
This commit is contained in:
parent
f75560398a
commit
4d3eaeb4f5
1 changed files with 4 additions and 2 deletions
|
@ -361,8 +361,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
constexpr bool
|
||||
ends_with(basic_string_view __x) const noexcept
|
||||
{
|
||||
return this->size() >= __x.size()
|
||||
&& this->compare(this->size() - __x.size(), npos, __x) == 0;
|
||||
const auto __len = this->size();
|
||||
const auto __xlen = __x.size();
|
||||
return __len >= __xlen
|
||||
&& traits_type::compare(end() - __xlen, __x.data(), __xlen) == 0;
|
||||
}
|
||||
|
||||
constexpr bool
|
||||
|
|
Loading…
Add table
Reference in a new issue