Просматривая примеры в библиотеке 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, "")
Задача ещё не решена.
Других решений пока нет …