#include <functional>
#include <iostream>
struct Foo {
Foo(int num) : num_(num) {std::cout << "Hello World" << std::endl;}
Foo(const Foo& f) : num_(f.num_) {std::cout << "Hello World copy" << std::endl;}
~Foo() {std::cout << "Goodby World" << std::endl;}
void print_add(int i) const { std::cout << num_+i << '\n'; }
int num_;
};
int main()
{
using std::placeholders::_1;
std::function<void(int)> f_add_display59 = std::bind( &Foo::print_add, Foo(75), _1 );
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnN0cnVjdCBGb28gewogIEZvbyhpbnQgbnVtKSA6IG51bV8obnVtKSB7c3RkOjpjb3V0IDw8ICJIZWxsbyBXb3JsZCIgPDwgc3RkOjplbmRsO30KICBGb28oY29uc3QgRm9vJiBmKSA6IG51bV8oZi5udW1fKSB7c3RkOjpjb3V0IDw8ICJIZWxsbyBXb3JsZCBjb3B5IiA8PCBzdGQ6OmVuZGw7fQogIH5Gb28oKSB7c3RkOjpjb3V0IDw8ICJHb29kYnkgV29ybGQiIDw8IHN0ZDo6ZW5kbDt9CiAgICB2b2lkIHByaW50X2FkZChpbnQgaSkgY29uc3QgeyBzdGQ6OmNvdXQgPDwgbnVtXytpIDw8ICdcbic7IH0KICAgIGludCBudW1fOwp9OwoKaW50IG1haW4oKQp7CiAgdXNpbmcgc3RkOjpwbGFjZWhvbGRlcnM6Ol8xOwogIHN0ZDo6ZnVuY3Rpb248dm9pZChpbnQpPiBmX2FkZF9kaXNwbGF5NTkgPSBzdGQ6OmJpbmQoICZGb286OnByaW50X2FkZCwgRm9vKDc1KSwgXzEgKTsKCn0K