use std::string_view in string_utils#9005
Merged
Merged
Conversation
a6d99d2 to
e81b174
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #9005 +/- ##
===========================================
- Coverage 80.57% 80.57% -0.01%
===========================================
Files 1708 1710 +2
Lines 189217 189251 +34
Branches 73 73
===========================================
+ Hits 152460 152487 +27
- Misses 36757 36764 +7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
e81b174 to
d1c39c7
Compare
tautschnig
approved these changes
May 27, 2026
Widen the input-parameter types of strip_string, capitalize, both split_string overloads, trim_from_last_delimiter, escape, and escape_non_alnum from `const std::string &` to `std::string_view`, using C++17's implicit `std::string` -> `std::string_view` conversion to keep all existing callers compiling unchanged. This widens the entry contracts so a future caller that doesn't already have a `std::string` to hand (e.g. a `(ptr, len)` slice or a substring of an existing string) can call these functions without materialising one. It does not in itself save any copies at the current callsites, all of which already hold a `std::string`. Returning views (`std::vector<std::string_view>` from `split_string`, `std::string_view` from `strip_string`) was considered and not done: both functions are commonly invoked with a temporary as the input string, so a returned view would dangle.
d1c39c7 to
c2db038
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This introduces
std::string_viewas a replacement forstd::stringparameters for the string utility functions inutil/string_utils.h, in the hope of avoiding copies of string contents.The change is designed not to break any usage of the functions; C++17 guarantees that there's an implicit conversion from
std::stringtostd::string_view.