#include <iostream>
#include <utility>
namespace io
{
template <std::size_t N>
class CSVReader
{
public:
template <typename ...T>
void read_row(T&&...a)
{
std::cout << N << std::endl;
}
};
}
namespace Detail
{
template <typename Reader, typename T, std::size_t... I>
void read_row(Reader& in, T* data, std::index_sequence<I...>)
{
in.read_row(data[I]...); // A trick here
}
}
template <std::size_t N, typename T>
void read_row(io::CSVReader<N>& in, T* data)
{
Detail::read_row(in, data, std::make_index_sequence<N>{});
}
int main() {
int a[7];
io::CSVReader<7> r;
read_row(r, a);
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KCm5hbWVzcGFjZSBpbwp7Cgl0ZW1wbGF0ZSA8c3RkOjpzaXplX3QgTj4KCWNsYXNzIENTVlJlYWRlcgoJewoJcHVibGljOgoJCXRlbXBsYXRlIDx0eXBlbmFtZSAuLi5UPgoJCXZvaWQgcmVhZF9yb3coVCYmLi4uYSkgCgkJewoJCQlzdGQ6OmNvdXQgPDwgTiA8PCBzdGQ6OmVuZGw7CgkJfQoJfTsKCQoJCn0KCm5hbWVzcGFjZSBEZXRhaWwKewp0ZW1wbGF0ZSA8dHlwZW5hbWUgUmVhZGVyLCB0eXBlbmFtZSBULCBzdGQ6OnNpemVfdC4uLiBJPgp2b2lkIHJlYWRfcm93KFJlYWRlciYgaW4sIFQqIGRhdGEsIHN0ZDo6aW5kZXhfc2VxdWVuY2U8SS4uLj4pCnsKICAgICBpbi5yZWFkX3JvdyhkYXRhW0ldLi4uKTsgLy8gQSB0cmljayBoZXJlCn0gCgp9Cgp0ZW1wbGF0ZSA8c3RkOjpzaXplX3QgTiwgdHlwZW5hbWUgVD4Kdm9pZCByZWFkX3Jvdyhpbzo6Q1NWUmVhZGVyPE4+JiBpbiwgVCogZGF0YSkKewogICAgIERldGFpbDo6cmVhZF9yb3coaW4sIGRhdGEsIHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5jZTxOPnt9KTsKfSAKaW50IG1haW4oKSB7CglpbnQgYVs3XTsKCWlvOjpDU1ZSZWFkZXI8Nz4gcjsKCXJlYWRfcm93KHIsIGEpOwoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=