On Sunday, 16 October 2016 at 20:11:01 UTC, Chris Wright wrote:
On Sun, 16 Oct 2016 18:51:06 +0000, Sebastiaan Koppe wrote:

On Sunday, 16 October 2016 at 13:58:51 UTC, Andrei Alexandrescu wrote:
I was thinking it would be handy if tuples had a way to access a field by name at runtime. E.g.:

Tuple!(int, "a", double, "b") t;
string x = condition ? "a" : "b";
double v = t.get!string(x, 3.14);

That would mean that tuple then needs to keep the strings around - taking up space.

It doesn't change Tuple.sizeof.

That plus the fact that the following code is
equivalent (obviously):

Tuple!(int, "a", double, "b") t;
double v = condition ? t.a : t.b;

Why this addition? What does it enable?

It's a little bit of runtime reflection, which people sometimes find handy. There's nothing stopping you from writing it manually or with metaprogramming, granted. And if it's just tuples, it doesn't seem like much of an advantage.

Please, not. We already have great compile time reflection.

Reply via email to