Implement N3762 string_view: a non-owning reference to a string.

Daniel Krügler daniel.kruegler@gmail.com
Mon Nov 18 17:33:00 GMT 2013


2013/11/18 David Kastrup <dak@gnu.org>:
> Daniel Krügler <daniel.kruegler@gmail.com> writes:
>
>> 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>
>
> Well, the "for each" qualifier is empty.  So the "such that" clause is
> trivially true.

Sure, but this is not relevant here.

> That does not help with "non-null pointer" probably.

Exactly.

> But note that it would be fine to use a different pointer to unmapped
> memory.

I understand that.

- Daniel



More information about the Libstdc++ mailing list