是否可以检测类是否具有成员函数,而不管具有Boost TTI的返回类型

时间:2017-05-04 13:07:15

标签: c++ boost introspection

浏览Boost TTI库中的示例,我只找到指定返回类型的示例。

是否可以利用Boost TTI来查看某个类是否具有指定的成员函数,而不管它的参数和返回值是什么?

我想要这样的事情:

struct BigBear {
  auto roar() -> int {return 1;}
};
struct SmallBear {
  auto roar() const -> float {return 0.0f;}
};
struct Duck {
  auto quack() {}
};

BOOST_TTI_HAS_MEMBER_FUNCTION(roar);
static_assert(has_member_function_roar<BigBear>::value, "")
static_assert(has_member_function_roar<SmallBear>::value, "")
static_assert(!has_member_function_roar<Duck>::value, "")

0 个答案:

没有答案