On Tuesday, 10 December 2013 at 19:26:27 UTC, Andrei Alexandrescu
wrote:
On 12/10/13 10:59 AM, monarch_dodra wrote:
On Tuesday, 10 December 2013 at 17:28:26 UTC, Andrei
Alexandrescu
wrote:
We have only(x)
(http://dlang.org/phobos/std_range.html#.only) to be a
collection of exactly one value, but not a type for "a value
of type T
or nothing at all"
Option is being upgraded to handle an arbitrary (but compile
time
known) amount of values:
https://github.com/D-Programming-Language/phobos/pull/1743
Interesting! There is the problem one can't represent "no
element of type T" and "one element of type T" with the same
type.
Hum... True. Well... "T[]", I guess :)
There's also the unrelated issue that the result of the
proposed only() is passed around by value, even after it has
been partially discarded.
Yes, but that also means than slicing doesn't escape a references
to temporaries about the go out of scope: It carries around its
payload.
But, I see no reason not to implement an "Option": The way I see
it, it "completes" our range package. Each tool has its pros and
cons.
I'm also working on a "staticArray", that can create static
arrays on the fly. That too can also be used just like "only",
but it does not carry arround its data by value. I'll finish the
ER, and the pull, and you'll get more details. It seems like very
useful stuff to me anyways.