
John Maddock wrote:
I have a use for it -- but it's less useful if the sequence is nonuniform and fails to include the class type of member functions ;-)
In fact, at this very point (type synthesis - "function_type") the input sequence does include it ;-).
Right but decomposition does not? Whatever it's behaviour it should be symmetrical, if composition has the class name in the list, then decomposition should have it there as well.
'function_type' and 'function_type_signature' are symmetrical counterparts (and work/are sequences containing all subtypes involved). The templates in the "Decomposition" section of the docs, however, provide access to particular subtypes, such as the result, the class or those that make up the parameter list. Dave's point is (I hope I summarize this accurately, please correct me if not) to put the class type into the sequence of parameters adding (cv-qualifications - but we all agree on this - and) a reference to it. I, however, am not convinced this is an improvement: While this may unify things in some cases it makes things more difficult in others (considering the case where we want a "this pointer" and not a reference, for example). I'll get back to this, later today. Regards, Tobias