/* This testcase checks whether Swig correctly uses the new result_of class and its templating capabilities introduced in C++0x. */ %module cpp0x_result_of %inline %{ #include #include double square(double x) { return (x * x); } template typename std::result_of::type test_result_impl(Fun fun, Arg arg) { return fun(arg); } %} %template(test_result) test_result_impl; %constant double (*SQUARE)(double) = square;