Listing 4: extern_mem_fun1.
template<typename ReturnType, typename ClassType, typename ArgType, typename ArgType2> extern_mem_fun1_t<ReturnType,ClassType,ArgType,ArgType2> extern_mem_fun1(ReturnType(ClassType::*pmf)( ArgType,ArgType2), ClassType* pObj) { return(extern_mem_fun1_t <ReturnType,ClassType,ArgType,ArgType2>(pmf,pObj)); }