Using shared_ptr<> with boost::lamda