#include <vector>
#include <cstdio>
using std::vector;
class branch
{
public:
int th;
private:
branch( const branch& other );
const branch& operator=( const branch& other );
public:
branch() : th(0) {}
branch( branch&& other )
{
printf( "called! other.th=%d\n", other.th );
}
const branch& operator=( branch&& other )
{
printf( "called! other.th=%d\n", other.th );
return (*this);
}
};
int main()
{
vector<branch> v;
branch a;
v.push_back( std::move(a) );
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGNzdGRpbz4KdXNpbmcgc3RkOjp2ZWN0b3I7CgpjbGFzcyBicmFuY2ggCnsKcHVibGljOgogIGludCB0aDsKCnByaXZhdGU6CiAgYnJhbmNoKCBjb25zdCBicmFuY2gmIG90aGVyICk7CiAgY29uc3QgYnJhbmNoJiBvcGVyYXRvcj0oIGNvbnN0IGJyYW5jaCYgb3RoZXIgKTsKCnB1YmxpYzoKCiAgYnJhbmNoKCkgOiB0aCgwKSB7fQoKICBicmFuY2goIGJyYW5jaCYmIG90aGVyICkKICB7CiAgICBwcmludGYoICJjYWxsZWQhIG90aGVyLnRoPSVkXG4iLCBvdGhlci50aCApOwogIH0KCiAgY29uc3QgYnJhbmNoJiBvcGVyYXRvcj0oIGJyYW5jaCYmIG90aGVyICkKICB7CiAgICBwcmludGYoICJjYWxsZWQhIG90aGVyLnRoPSVkXG4iLCBvdGhlci50aCApOwogICAgcmV0dXJuICgqdGhpcyk7CiAgfQoKfTsKCgoKaW50IG1haW4oKQp7CiAgdmVjdG9yPGJyYW5jaD4gdjsKICBicmFuY2ggYTsKICB2LnB1c2hfYmFjayggc3RkOjptb3ZlKGEpICk7CgogIHJldHVybiAwOwp9