-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
Is your feature request related to a problem? Please describe.
We use std::string_view for names of object entries. However, when accessing values with Json::Value::operator[], we always have to convert the name a std::string first. This incurs an unnecessary allocation and adds boilerplate code.
Describe the solution you'd like
I would like Json::Value::operator[] to support std::string_view.
Describe alternatives you've considered
As mentioned an alternative is to convert the name to std::string first, but this is less readable and slower. Converting to const char* is in general not possible, because the contents of std::string_view might not be null-terminated.
Additional context
This feature requires C++17. jsoncpp seems to build fine with C++17 so this shouldn't be a problem as long as the feature is deactivated when compiling with a lower standard.
#999 already implemented this feature, but was closed. It is not clear to me why the PR was closed. If there is additional work necessary, I am happy to help.