On Aug 11, 2011, at 11:15 PM, someguy wrote:

template<template<typename T0> class F>
struct temp_fun_1
{
template<typename TT0> void operator()( TT0 a1 )
{ 
              // empty function for simplicity
}
};

template<typename T> void Loopback(T t){ std::cout<&lt;t; }

temp_fun_1&lt;Loopback&gt;(); //in main(). I can't even instantiate
temp_fun_1.

(Please post as plain text.)

I think the essential problem is that you'd have to have a template parameter which takes a function template, which can't be done:

http://groups.google.com/group/comp.std.c++/browse_thread/thread/64738c5af5bcaf04