#include <memory>
template <typename T>
class CList {
public:
CList(){}
private:
CList(const CList& rhs) {}
};
struct hoge {
};
std::unique_ptr<CList<hoge> > foo()
{
std::unique_ptr<CList<hoge> > baz(new CList<hoge>);
return baz;
}
int main()
{
std::unique_ptr<CList<hoge> > bar = foo();
}
I2luY2x1ZGUgPG1lbW9yeT4KCnRlbXBsYXRlIDx0eXBlbmFtZSBUPgpjbGFzcyBDTGlzdCB7CnB1YmxpYzoKICBDTGlzdCgpe30KcHJpdmF0ZToKICBDTGlzdChjb25zdCBDTGlzdCYgcmhzKSB7fQp9OwoKc3RydWN0IGhvZ2Ugewp9OwoKc3RkOjp1bmlxdWVfcHRyPENMaXN0PGhvZ2U+ID4gZm9vKCkKewogIHN0ZDo6dW5pcXVlX3B0cjxDTGlzdDxob2dlPiA+IGJheihuZXcgQ0xpc3Q8aG9nZT4pOwogIHJldHVybiBiYXo7Cn0KCmludCBtYWluKCkKewogIHN0ZDo6dW5pcXVlX3B0cjxDTGlzdDxob2dlPiA+IGJhciA9IGZvbygpOwp9Cg==