我正在使用Tick Library进行特征检查。
在如何检查类中是否存在方法方面需要帮助,但在这种情况下,应检查其签名中带有std::enable_if
的方法。
使用Tick作为方法没有问题,但是我从未尝试过使用std::enable_if
的方法。
在我的情况下,当我删除std::enable_if
模板时,Tick便找到了该方法,但我真正需要的是Tick找到使用std::enable_if
的方法的一种方法,如下所示:
static const bool bSomeBool {true};
template <class = typename std::enable_if<bSomeBool>::type>
inline int DoStuff()
{
return SomeFunction();
}
TICK_TRAIT(MyTraitCheck)
{
int result;
template<class T_SomeType>
auto require(T_SomeType&& rrSomeTypeObj)->valid <
decltype(result = rrSomeTypeObj.DoStuff())
>;//valid
};