digitalmars.D - More Compile-Time Reflection
- Jonathan Marler (4/4) Feb 28 2014 It would be great to have more access to compile time data
- Adam D. Ruppe (4/4) Feb 28 2014 What specifically are you looking for? You can get names,
- =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= (8/12) Feb 28 2014 See also x.tupleof property which returns a tuple of all the
- ted (3/18) Feb 28 2014 For some examples of extra templates using tupleof, see
It would be great to have more access to compile time data structures such as struct/class/interface definitions. Data structures for things like method definitions would need to be added. Any thoughts on this?
Feb 28 2014
What specifically are you looking for? You can get names, overloads, parameters, return values, and attributes of struct/class methods with reflection today. See __traits(allMembers), etc., and the phobos std.traits module.
Feb 28 2014
On Friday, 28 February 2014 at 22:55:54 UTC, Adam D. Ruppe wrote:What specifically are you looking for? You can get names, overloads, parameters, return values, and attributes of struct/class methods with reflection today. See __traits(allMembers), etc., and the phobos std.traits module.See also x.tupleof property which returns a tuple of all the members of x, x being either a struct or class. Typical use foreach (member; structure_or_class.tupleof) { // perform some side-effect with member } /Per
Feb 28 2014
Nordlöw wrote:On Friday, 28 February 2014 at 22:55:54 UTC, Adam D. Ruppe wrote:For some examples of extra templates using tupleof, see https://github.com/jacob-carlborg/orange/blob/master/orange/util/Reflection.dWhat specifically are you looking for? You can get names, overloads, parameters, return values, and attributes of struct/class methods with reflection today. See __traits(allMembers), etc., and the phobos std.traits module.See also x.tupleof property which returns a tuple of all the members of x, x being either a struct or class. Typical use foreach (member; structure_or_class.tupleof) { // perform some side-effect with member } /Per
Feb 28 2014