Tuple enhancement

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sun Oct 16 06:58:51 PDT 2016


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);

The get method takes the field name and the type of the presumed field, 
and it returns the value of the field in the tuple. If no field by that 
name and type, return the second argument.

Rquirements:

* Do not throw - allow the second argument to be a throwing delegate

* Do not add overhead if the method is never used

* Figure out a reasonable (but not all too complicated) way to deal with 
implicit conversions, e.g. if x == "a" in the the code above, should it 
return 3.14 or convert the int to double?

* Handle qualifiers appropriately


Andrei



More information about the Digitalmars-d mailing list