#include <iostream>
#include <ostream>
#include <vector>
using namespace std;
class foo {
public:
int bar;
};
template <typename T>
std::ostream& operator<< (std::ostream& out, const std::vector<T>& v) {
if ( !v.empty() ) {
out << '[';
for (auto i = v.begin(); i < v.end(); i++)
out << *i << ", ";
out << "]";
}
return out;
}
int main() {
vector<foo> x {{1},{2}};
vector<int> f {1,2,3};
cout << f;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8b3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBmb28gewpwdWJsaWM6CglpbnQgYmFyOwp9OwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PCAoc3RkOjpvc3RyZWFtJiBvdXQsIGNvbnN0IHN0ZDo6dmVjdG9yPFQ+JiB2KSB7CiAgaWYgKCAhdi5lbXB0eSgpICkgewogICAgb3V0IDw8ICdbJzsKICAgIAogICAgZm9yIChhdXRvIGkgPSB2LmJlZ2luKCk7IGkgPCB2LmVuZCgpOyBpKyspCiAgICAJb3V0IDw8ICppIDw8ICIsICI7CiAgICBvdXQgPDwgIl0iOwogIH0KICByZXR1cm4gb3V0Owp9CgoKaW50IG1haW4oKSB7Cgl2ZWN0b3I8Zm9vPiB4IHt7MX0sezJ9fTsKCXZlY3RvcjxpbnQ+IGYgezEsMiwzfTsKCWNvdXQgPDwgZjsKCXJldHVybiAwOwp9