Transience of .front in input vs. forward ranges
Tommi
tommitissari at hotmail.com
Mon Nov 12 21:15:50 PST 2012
On Monday, 12 November 2012 at 08:37:20 UTC, Tommi wrote:
> This whole mess makes me wish that D was designed so that all
> types had value semantics (by convention, since it's probably
> not possible to enforce by the language).
"..so that all types had value semantics". That's a bit too
harsh. Rather there would need to two kinds of types:
1) struct: own their data, value semantics
2) referer: don't own their data, reference semantics
Dynamic arrays would fall into the first category; owns their
data, have value semantics.
Slices of dynamic arrays would be a separate type, falling into
the second category; don't own the data, reference semantics.
Range could be of either kind of type.
You'd need two kinds of pointers too: the kind that owns its
data, and the kind that references data that someone else owns.
And you'd be able to differentiate between these two kinds of
types at compile-time.
Disclaimer: I promise not to spam this thread with this idea any
further.
More information about the Digitalmars-d
mailing list