[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の機構って名前付いてたりするのだろうか