
On Thu, Mar 11, 2004 at 05:35:38PM +0200, Peter Dimov wrote:
Yes, I understand the Long-Term Goal (if not its utmost importance), but your approach doesn't scale to other function<>-like entites.
void f(); my_function<void()> g(f); your_function<void()> h(g);
g == h; //??? g.contains(h); // false h.contains(g); // true
It's limited to the one and only function<> (and you can't even ask a function<> whether it contains another function<>, right?)
I am also curious about how cases like void f(int,int,int); function<void(int,int)> tmp1 = bind(&f,5,_1,_2); function<void(int,int)> tmp2 = bind(&f,_1,_2,7); bind(tmp1,_1,7) == bind(tmp2,5,_1) // ? (ought to) work. (If my intent isn't clear above, I am trying to bind the first and third arguments of f() in two different ways. Presumably the LHS and RHS of the operator== on the last line have different types, despite the fact that they "are the same function", for some definition of sameness.) -- -Brian McNamara (lorgon@cc.gatech.edu)