const and phobos string functions
Regan Heath
regan at netmail.co.nz
Thu Aug 2 08:02:18 PDT 2007
Reiner Pope wrote:
> I must say, I *like* the simplicity of overloading with a mutable and a
> readonly version, although we have established that it can certainly
> lead to some confusion.
Provided it always performs a .dup when it modifies the input it should
be fine. i.e. take the existing tolower in std.string and simply change
the function signature to:
T tolower(T)(T s)
and make no other changes and your example:
char[] s = "Hello World!".dup;
int a = howManyLettersDiffer(tolower(s), s);
assert (a == 2); // assert failed, a is actually 0
will work as expected.
> Mind you, D arrays ignore that potential
> confusion (in the .sort and .reverse properties).
True.
> I also had some fancy ideas for a CoW wrapper, which looks something like:
<snip>
I wrote something like that once too.
Regan
More information about the Digitalmars-d
mailing list