This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 11/18/2013 09:08 AM, Daniel Krügler wrote:
2013/11/15 Ed Smith-Rowland <3dw4rd@verizon.net>:Greetings, As the title says. It's a pretty simple class" a non-mutating read-only view into a const CharT* or a basic_string. Built and tested on x86_64-linux. OK?Sorry, if this is documented somewhere, but is this intended to implement http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3762.html ? I don't think that your implementation is valid, because it maps an empty string view into a NULL data pointer. But according to the specification of data() the return type, this isn't feasible: <quote> constexpr const charT* data() const noexcept; Returns: A non-null pointer p such that p + i == &operator[](i) for each i in [0,size()). </quote> - Daniel
Right.Here is a fix that introduces an constexpr unit length string to represent empty strings so that refs to empty strings don't point to the ether.
Built and tested on x86_64-linux. OK?
Attachment:
CL_string_view_fix
Description: Text document
Attachment:
patch_string_view_fix
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |