#include <iostream>
using namespace std;
template <typename T, std::size_t... Sizes>
class Foo {
public:
const std::size_t rank = sizeof...(Sizes);
const std::size_t dimensions[sizeof...(Sizes)] = {Sizes...};
};
int main() {
Foo<int, 1, 2, 3> foo;
std::cout << "Rank: " << foo.rank << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHN0ZDo6c2l6ZV90Li4uIFNpemVzPgpjbGFzcyBGb28gewpwdWJsaWM6Cgljb25zdCBzdGQ6OnNpemVfdCByYW5rID0gc2l6ZW9mLi4uKFNpemVzKTsKCWNvbnN0IHN0ZDo6c2l6ZV90IGRpbWVuc2lvbnNbc2l6ZW9mLi4uKFNpemVzKV0gPSB7U2l6ZXMuLi59Owp9OwoKaW50IG1haW4oKSB7CgkKCUZvbzxpbnQsIDEsIDIsIDM+IGZvbzsKCQoJc3RkOjpjb3V0IDw8ICJSYW5rOiAiIDw8IGZvby5yYW5rIDw8IHN0ZDo6ZW5kbDsKCQoJcmV0dXJuIDA7Cn0=