> > Have a look at Orange: http://www.dsource.org/projects/orange > I'm in a middle of a complete rewrite but you can use a previous version > (if it still works) or look at the code. > Thank you for pointing me there. Looks very interesting. I took a quick look at the code and got some questions. I found this pattern quite often in phobos sources, too.
Why do you declare in Reflection.d[1] a template parameterNamesOf(alias func) and one called parameterNamesOfImpl? Wouldn't be one sufficient? I do understand the case if you want to use the template recursively and hide one parameter like in fieldsOf / fieldsOfImpl. Though I don't understand why you are using a recursive template in fieldsOf and a imperative function in parameterNamesOfImpl? Is it possible to you use both in both places? [1] http://www.dsource.org/projects/orange/browser/orange/util/Reflection.d
