Relaxing the definition of isSomeString and isNarrowString

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sat Aug 23 18:06:37 PDT 2014


Currently char[], wchar[], dchar[] and qualified variants fulfill the 
requirements of isSomeString. Also, char[], wchar[] and qualified 
variants fulfill the requirements of isNarrowString.

Various algorithms in Phobos test for these traits to optimize away UTF 
decoding where unnecessary.

I'm thinking of relaxing the definitions to all types that fulfill the 
following requirements:

* are random access ranges
* element type is some character
* offer .ptr as a @system property that offers a pointer to the first 
character

This would allow us to generalize the notion of string and offer 
optimizations for user-defined, not only built-in, strings. Thoughts?


Andrei


More information about the Digitalmars-d mailing list