User:D41D8CD98F/invoke draft

Invoke the object  with the parameters. As by.

where INVOKE(f, t1, t2, ..., tN) is defined as follows:
 * if is a pointer to member function of class :
 * If is, then  is equivalent to
 * otherwise, if is a specialization of std, then  is equivalent to
 * otherwise, if does not satisfy the previous items, then  is equivalent to.


 * otherwise, if N == 1 and is a pointer to data member of class :
 * If is, then  is equivalent to
 * otherwise, if is a specialization of std, then  is equivalent to
 * otherwise, if  does not satisfy the previous items, then  is equivalent to


 * otherwise, is equivalent to  (that is,  is a )