#include <iostream>
#include <vector>
using namespace std;
template<class T>
class A:public vector<T> {
public:
void fillAndMove();
vector<T> help;
A & operator=(const std::vector<T> & rhs)
{
for(auto it : help)
{
this->push_back(it);
}
return *this;
}
};
template<class T>
void A<T>::fillAndMove() {
help.resize(2);
help[0] = 5;
help[1] = 3;
(*this) = move(help);
}
int main(void)
{
A<int> test;
test.fillAndMove();
std::cout << test[0] << test[1];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlPGNsYXNzIFQ+CmNsYXNzIEE6cHVibGljIHZlY3RvcjxUPiB7CiAgICBwdWJsaWM6CiAgICAgICAgdm9pZCBmaWxsQW5kTW92ZSgpOwoKICAgICAgICB2ZWN0b3I8VD4gaGVscDsKCiAgICBBICYgb3BlcmF0b3I9KGNvbnN0IHN0ZDo6dmVjdG9yPFQ+ICYgcmhzKQogICAgewogICAgICAgIGZvcihhdXRvIGl0IDogaGVscCkKICAgICAgICB7CiAgICAgICAgICAgIHRoaXMtPnB1c2hfYmFjayhpdCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAqdGhpczsKICAgIH0KfTsKCnRlbXBsYXRlPGNsYXNzIFQ+CnZvaWQgQTxUPjo6ZmlsbEFuZE1vdmUoKSB7CiAgICBoZWxwLnJlc2l6ZSgyKTsKICAgIGhlbHBbMF0gPSA1OwogICAgaGVscFsxXSA9IDM7CgogICAgKCp0aGlzKSA9IG1vdmUoaGVscCk7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIEE8aW50PiB0ZXN0OwogICAgdGVzdC5maWxsQW5kTW92ZSgpOwogICAgc3RkOjpjb3V0IDw8IHRlc3RbMF0gPDwgdGVzdFsxXTsKCiAgICByZXR1cm4gMDsKfQ==