#include <iostream>
#include <vector>
template <class T>
class C
{
public:
C( std::initializer_list<T> il )
: v_(il) { }
void print() const
{
for( const T& t : v_ )
{
std::cout << t << " ";
}
std::cout << std::endl;
}
private:
std::vector<T> v_;
};
int main() {
C<int> ci = {1,2,3,4,5};
ci.print();
C<char> c = { 'a', 'r', 'r', 'a', 'y' };
c.print();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdGVtcGxhdGUgPGNsYXNzIFQ+CmNsYXNzIEMKewpwdWJsaWM6CglDKCBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8VD4gaWwgKQoJCTogdl8oaWwpIHsJfQoJdm9pZCBwcmludCgpIGNvbnN0Cgl7CgkJZm9yKCBjb25zdCBUJiB0IDogdl8gKQoJCXsKCQkJc3RkOjpjb3V0IDw8IHQgPDwgIiAiOwoJCX0KCQlzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJfQpwcml2YXRlOgoJc3RkOjp2ZWN0b3I8VD4gdl87Cn07CgppbnQgbWFpbigpIHsKCQoJQzxpbnQ+IGNpID0gezEsMiwzLDQsNX07CgljaS5wcmludCgpOwoJCglDPGNoYXI+IGMgPSB7ICdhJywgJ3InLCAncicsICdhJywgJ3knIH07CgljLnByaW50KCk7CQoJCglyZXR1cm4gMDsKfQ==