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.

Reply via email to