string_ref and modifying underlying data
Hi, I'm curious about the decision taken to not allow string_ref to modify the data it represents. I'm modifying our JSON parser to use it, and sometimes I need to normalise a field to uppercase or lowercase. Obviously I cannot now do this without making a copy of the normalised field somewhere with either std::string or boost::string_ref. I notice Jeffrey Yaskin's proposal for a standard implementation ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html) has also taken this design decision, which is disappointing. James
On Mon, Aug 3, 2015 at 8:27 AM, james
Hi,
I'm curious about the decision taken to not allow string_ref to modify the data it represents. I'm modifying our JSON parser to use it, and sometimes I need to normalise a field to uppercase or lowercase. Obviously I cannot now do this without making a copy of the normalised field somewhere with either std::string or boost::string_ref.
Consider the following code: const char *foo = "abcdef"; string_ref sr{foo, 6}; Given only "sr", how can you tell if it is possible to change the contents ? -- Marshall
participants (2)
-
james
-
Marshall Clow