#include <iostream>
#include <functional>
using namespace std;
void run(std::function<std::string(const int&)> func)
{
std::cout << "in run" << std::endl;
}
int main()
{
auto get_functor = [&](const bool check)
{
return [&](const int& sr)->std::string
{
if(check)
{
return "some string";
}
return "another string";
};
};
run(get_functor(true));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcnVuKHN0ZDo6ZnVuY3Rpb248c3RkOjpzdHJpbmcoY29uc3QgaW50Jik+IGZ1bmMpCnsKCXN0ZDo6Y291dCA8PCAiaW4gcnVuIiA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkKewoJYXV0byBnZXRfZnVuY3RvciA9IFsmXShjb25zdCBib29sIGNoZWNrKQoJewogICAgCXJldHVybiAgWyZdKGNvbnN0IGludCYgc3IpLT5zdGQ6OnN0cmluZwogICAgCXsKICAgICAgICAJaWYoY2hlY2spCiAgICAgICAgCXsKICAgICAgICAgICAgCXJldHVybiAic29tZSBzdHJpbmciOwogICAgICAgIAl9CiAgICAgICAgCXJldHVybiAiYW5vdGhlciBzdHJpbmciOwogICAgCX07Cgl9OwoJcnVuKGdldF9mdW5jdG9yKHRydWUpKTsKCXJldHVybiAwOwp9