[function<R(Args...)>] → [function<R(tuple<Args...>)]する関数を書いてみた

就活中。C++かけるところで働きたい。この際C++じゃなくてもいい。冬椿です

 [std::function<R(Args...)>] 

から

 [std::function<R(std::tuple<Args...>)]

に変換する関数を書いた

およそ40行。短いことはいいことだ


//サンプル

int func(int a, int &b, int c)
{
	std::cout << a << b << c;
	return a + b + c;
}
int main()
{
	int x = 2;
	using Tuple = std::tuple<int, int&, int>;
	auto f=tupleple::fuse_cast(std::function<int(int,int&,int)>(func));
	std::cout << f(Tuple(1,x,3));
}

1236


[std::function<R(Args...)>] → [std::function<R(std::tuple<Args...>)]

ところでこの関数作るときに使ったsize_t_Listの機構って名前付いてたりするのだろうか