How to obtain certain traits of delegates returned by functions in template constraints?
    DoctorCaptain 
    garble at harble.com
       
    Sat Dec 14 11:53:36 PST 2013
    
    
  
My question is hopefully short and straightforward to answer, but 
it's also a two-parter.
I am working on a template that generates a function that 
implements an algorithm using several helper functions that are 
provided to the template by the user. I would like to add 
constraints to the template to restrict what functions the user 
can attempt to instantiate the template with, as the algorithm 
implemented by a function in the template has specific 
requirements. One of the functions required by the template needs 
to return a delegate so that it can be used as a generator of 
sorts. In any case. I have the ability to check the return type, 
arity, and parameter list of a function in the constraints of the 
template, and I can also check the return type of the delegate 
returned by the function.
So, first, how do I check the arity of and retrieve a parameter 
type tuple of the delegate returned by the function? Hopefully 
the example code in the following dpaste will fully illustrate my 
question:
http://dpaste.dzfl.pl/ef1a970f
Second, can I get the level of thoroughness I am going for in 
these constraints checks with fewer actual checks? As in, is 
there a more straightforward way to do these checks without 
sacrificing any of them?
Thank you for any and all insight!
    
    
More information about the Digitalmars-d-learn
mailing list