#include <functional>
#include <iostream>
struct s {
int n;
void f( char const *a ) { std::cout << n << " foo " << a << '\n'; }
void b( char const *a ) { std::cout << n << " bar " << a << '\n'; }
};
int main() {
s object{ 4 };
auto ptmf = &s::f;
auto fn = std::bind( ptmf, object, std::placeholders::_1 );
fn( "quack" );
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnN0cnVjdCBzIHsKaW50IG47CnZvaWQgZiggY2hhciBjb25zdCAqYSApIHsgc3RkOjpjb3V0IDw8IG4gPDwgIiBmb28gIiA8PCBhIDw8ICdcbic7IH0Kdm9pZCBiKCBjaGFyIGNvbnN0ICphICkgeyBzdGQ6OmNvdXQgPDwgbiA8PCAiIGJhciAiIDw8IGEgPDwgJ1xuJzsgfQp9OwoKaW50IG1haW4oKSB7CnMgb2JqZWN0eyA0IH07CmF1dG8gcHRtZiA9ICZzOjpmOwphdXRvIGZuID0gc3RkOjpiaW5kKCBwdG1mLCBvYmplY3QsIHN0ZDo6cGxhY2Vob2xkZXJzOjpfMSApOwpmbiggInF1YWNrIiApOwp9