Idiomatic way to process const/immutable arrays as ranges

Dmitry Olshansky dmitry.olsh at gmail.com
Mon Feb 11 08:25:32 PST 2013


11-Feb-2013 18:46, Dicebot пишет:
> This question is so stupid I am just struck with trying to chose the
> "good" solution.
>
> Consider this code:
>
> string func(in string[] args)
> {
>      return args.join(" "); // compile error, args is not an input range
> }

I might be wrong but you can slice it e.g.:

args[].join(" ");

>
> It is somewhat expected as you can hardly popFront on a const range. But
> then question is: how can I wrap const slice into a mutable range
> without copying data (using standard language/library solution)? Of
> course, I can do .dup.join, but there is no real need to do copy, even a
> shallow one.


-- 
Dmitry Olshansky


More information about the Digitalmars-d-learn mailing list