静态断言添加操作是否可用



我正在尝试做一个静态断言,检查是否可以将类型 A 添加到类型 B 中。有没有办法在编译时检查模板类型 A 是否可以添加到模板类型 B 中?A和B真的可以是任何东西。

使用 is_detected,您可以执行以下操作:

template <typename LHS, typename RHS>
using sum_t = decltype(std::declval<LHS>() + std::declval<RHS>());
template <typename LHS, typename RHS> 
using has_sum = is_detected<sum_t, LHS, RHS>;

最新更新