Ranges of char and wchar

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Thu May 8 11:51:49 PDT 2014


On 5/8/2014 11:19 AM, H. S. Teoh via Digitalmars-d wrote:
> In case 1, the user has to manually create various intermediate buffers
> to store intermediate results. I used a trivial example here, but in
> application code, the processing you need is usually far more complex.
> This means creating lots of intermediate buffers, making sure you link
> the right ones together, etc.. The code becomes very verbose, and
> becomes a maintenance nightmare (which of the tmp1, tmp2, tmp3 buffers
> refer to which fragment of the result again? Oh oops, I think I passed
> the wrong output range to setExtension).
>
> In case 2, the user decides when a buffer is needed and when it's not.
> The function calls chain very nicely. The code is more readable, and
> easy to maintain (and needless allocations -- including temporary static
> buffers -- are eliminated).

I think you nailed it.

Being able to eliminate temporary buffers is a big win. The fastest way to 
manage allocated memory is to not need allocated memory.


More information about the Digitalmars-d mailing list