
On Dec 13, 2012, at 12:05 PM, Gottlob Frege <gottlobfrege@gmail.com> wrote:
On Thu, Dec 13, 2012 at 5:20 AM, Rob Stewart <robertstewart@comcast.net>wrote:
It is the logical interpretation. It indicates whether the string is non-empty. I don't see any other generally useful interpretation, do you?
Qt's QString has both empty() and isNull() and they are not always the same. Basically empty() is a zero-byte string, but null is a never-been-set-or-allocated string. [snip]
Somewhat like optional<string>.
That's how I'd spell it.
Me too maybe. But either way, there is another 'generally useful interpretation'. And fairly well known.
For string_ref, it could mean the difference between these 2 string_refs, assuming a ptr+size implementation:
{ ptr != 0, size == 0 } and { ptr == 0, size == hopefully_zero }
The unset interpretation of "null" is not uncommon, but I don't agree with it's being generally useful. It is useful in some circumstances, but "is empty" is much more broadly useful, hence my statement. ___ Rob