digitalmars.D.learn - Tuple fields/types
- Jordan Wilson (15/15) Jun 30 2016 Hello,
- Nicholas Wilson (2/17) Jun 30 2016 static map (and map in general) is a 1:1 correspondence, so yes.
- Meta (3/18) Jun 30 2016 It's an implementation detail but I wouldn't expect the order to
Hello, For tuples, does the fieldNames property have a 1-1 correspondence with the Types property? It appears that way in my testing: alias MyData = Tuple!(string,"a",int,"b"); foreach (i, type; MyData.Types){ writeln (MyData.fieldNames[i]," ",type.stringof); // a string // b int } But I can't figure out for sure from the documentation: alias fieldNames = staticMap!(extractName, fieldSpecs); alias Types = staticMap!(extractType, fieldSpecs); Thanks, Jordan
Jun 30 2016
On Thursday, 30 June 2016 at 21:53:42 UTC, Jordan Wilson wrote:Hello, For tuples, does the fieldNames property have a 1-1 correspondence with the Types property? It appears that way in my testing: alias MyData = Tuple!(string,"a",int,"b"); foreach (i, type; MyData.Types){ writeln (MyData.fieldNames[i]," ",type.stringof); // a string // b int } But I can't figure out for sure from the documentation: alias fieldNames = staticMap!(extractName, fieldSpecs); alias Types = staticMap!(extractType, fieldSpecs); Thanks, Jordanstatic map (and map in general) is a 1:1 correspondence, so yes.
Jun 30 2016
On Thursday, 30 June 2016 at 21:53:42 UTC, Jordan Wilson wrote:Hello, For tuples, does the fieldNames property have a 1-1 correspondence with the Types property? It appears that way in my testing: alias MyData = Tuple!(string,"a",int,"b"); foreach (i, type; MyData.Types){ writeln (MyData.fieldNames[i]," ",type.stringof); // a string // b int } But I can't figure out for sure from the documentation: alias fieldNames = staticMap!(extractName, fieldSpecs); alias Types = staticMap!(extractType, fieldSpecs); Thanks, JordanIt's an implementation detail but I wouldn't expect the order to ever change.
Jun 30 2016