#include <iostream>
#include <utility>
using namespace std;
template<typename... Args>
void any_other_f(Args... args)
{
double list[] = {args...};
for (auto&& x : list)
cout << x << ", ";
cout << "\n";
}
template<typename T, size_t... I>
void wrapper_function(T&& t, index_sequence<I...>)
{
any_other_f(t[I]...);
}
template<typename...Args>
void f(Args...args)
{
constexpr size_t size = sizeof...(args);
double list[] = {args...};
for (int i = 0; i < size; ++i)
list[i] *= -1;
wrapper_function(list, make_index_sequence<4>());
}
int main() {
f(1.0, 2.0, 3.0);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+CnZvaWQgYW55X290aGVyX2YoQXJncy4uLiBhcmdzKQp7Cglkb3VibGUgbGlzdFtdID0ge2FyZ3MuLi59OwoJZm9yIChhdXRvJiYgeCA6IGxpc3QpCgkJY291dCA8PCB4IDw8ICIsICI7Cgljb3V0IDw8ICJcbiI7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdC4uLiBJPgp2b2lkIHdyYXBwZXJfZnVuY3Rpb24oVCYmIHQsIGluZGV4X3NlcXVlbmNlPEkuLi4+KQp7Cglhbnlfb3RoZXJfZih0W0ldLi4uKTsJCn0KCnRlbXBsYXRlPHR5cGVuYW1lLi4uQXJncz4gCnZvaWQgZihBcmdzLi4uYXJncykKewoJY29uc3RleHByIHNpemVfdCBzaXplID0gc2l6ZW9mLi4uKGFyZ3MpOwogICAgZG91YmxlIGxpc3RbXSA9IHthcmdzLi4ufTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQogICAgICAgIGxpc3RbaV0gKj0gLTE7CiAgICB3cmFwcGVyX2Z1bmN0aW9uKGxpc3QsIG1ha2VfaW5kZXhfc2VxdWVuY2U8ND4oKSk7Cn0KCmludCBtYWluKCkgewoJZigxLjAsIDIuMCwgMy4wKTsKCXJldHVybiAwOwp9