/* This testcase checks whether SWIG correctly uses the new result_of class and its templating capabilities introduced in C++11. */ %module cpp11_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;