feat: support std::string_view in Value API #1584
Open
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 adds direct support for
std::string_view
when available (C++17 and above). The current API can be used withstd::string_view
via the low-level two-pointer methods, but is not ergonomic. E.g., compare:Change details (only with C++17 or above)
std::string_view
parameter. The existingoverloads taking
const std::string&
andconst char*
are still necessaryto support assignment from those types.
operator[]
,get()
,isMember()
andremoveMember()
take astd::string_view
parameter. This supersedes the overloads takingconst std::string&
andconst char*
. The overloads taking a pair ofpointers (begin, end) are preserved for source compatibility.
getString()
has an overload with astd::string_view
output parameter.The one with a pair of pointers is preserved for source compatibility.