Binding - 1 void f() { Functor<void, TYPELIST_2(int,int)> cmd1(whatever); Functor<void, TYPELIST_1(int)> cmd2(BindFirst(cmd1,10)); cmd2(20); // same as cmd1(10,20) Functor<void> cmd3(BindFirst(cmd2,30)); cmd3(); // same as cmd1(10,30) }
void f() { Functor<void, TYPELIST_2(int,int)> cmd1(whatever); Functor<void, TYPELIST_1(int)> cmd2(BindFirst(cmd1,10)); cmd2(20); // same as cmd1(10,20) Functor<void> cmd3(BindFirst(cmd2,30)); cmd3(); // same as cmd1(10,30) }