#include #include #include struct w {}; struct z { char f(int) { return 'z'; } }; struct y { int f(char) { return -1; } }; struct x { int f(char) { BOOST_TEST((introspect_f::has_member_function >::value)); BOOST_TEST((!introspect_f::has_member_function >::value)); BOOST_TEST((!introspect_f::has_member_function >::value)); BOOST_TEST((introspect_f::member_function_address() == &y::f)); return 'x'; } private: BOOST_CONTRACT_INTROSPECT(f) }; int main() { x xx; xx.f('a'); return 0; }