#include <array>
#include <iostream>
#include <utility>
template <typename T, std::size_t...Is>
std::array<T, sizeof...(Is)> make_array(const T& value, std::index_sequence<Is...>)
{
return {{(static_cast<void>(Is), value)...}};
}
template <std::size_t N, typename T>
std::array<T, N> make_array(const T& value)
{
return make_array(value, std::make_index_sequence<N>());
}
int main()
{
auto a = make_array<42>('.');
for (auto c : a) {
std::cout << c;
}
std::cout << std::endl;
}
I2luY2x1ZGUgPGFycmF5PgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDx1dGlsaXR5PgoKdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHN0ZDo6c2l6ZV90Li4uSXM+CnN0ZDo6YXJyYXk8VCwgc2l6ZW9mLi4uKElzKT4gbWFrZV9hcnJheShjb25zdCBUJiB2YWx1ZSwgc3RkOjppbmRleF9zZXF1ZW5jZTxJcy4uLj4pCnsKICAgIHJldHVybiB7eyhzdGF0aWNfY2FzdDx2b2lkPihJcyksIHZhbHVlKS4uLn19Owp9Cgp0ZW1wbGF0ZSA8c3RkOjpzaXplX3QgTiwgdHlwZW5hbWUgVD4Kc3RkOjphcnJheTxULCBOPiBtYWtlX2FycmF5KGNvbnN0IFQmIHZhbHVlKQp7CiAgICByZXR1cm4gbWFrZV9hcnJheSh2YWx1ZSwgc3RkOjptYWtlX2luZGV4X3NlcXVlbmNlPE4+KCkpOwp9CgppbnQgbWFpbigpCnsKICAgIGF1dG8gYSA9IG1ha2VfYXJyYXk8NDI+KCcuJyk7CiAgICAKICAgIGZvciAoYXV0byBjIDogYSkgewogICAgICAgIHN0ZDo6Y291dCA8PCBjOyAgIAogICAgfQogICAgc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKfQ==