#include <iostream>
#include <boost/function.hpp>
using namespace std;
int main() {
boost::function<double(double, double)> fn = [](double x, double y) -> double
{
return x + y;
};
std::cout << fn(1.0, 2.0) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Ym9vc3QvZnVuY3Rpb24uaHBwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJYm9vc3Q6OmZ1bmN0aW9uPGRvdWJsZShkb3VibGUsIGRvdWJsZSk+IGZuID0gW10oZG91YmxlIHgsIGRvdWJsZSB5KSAtPiBkb3VibGUKCXsKCQlyZXR1cm4geCArIHk7Cgl9OwoJCglzdGQ6OmNvdXQgPDwgZm4oMS4wLCAyLjApIDw8IHN0ZDo6ZW5kbDsKCXJldHVybiAwOwp9