class C : public std::function<int(int)>{};

というクラスを定義して、

int f(int i){ return i + 1; }

void main()
{
C c = f;
int i = c(1);
}

みたいな使い方って出来ないのでしょうか?
functional のヘッダを読んでみましたがさっぱりでした