代码之家  ›  专栏  ›  技术社区  ›  Andreas Loanjoe

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

  •  2
  • Andreas Loanjoe  · 技术社区  · 8 年前

    我试图创建一个静态断言,检查是否可以将类型a添加到类型B。有什么方法可以检查模板类型a是否可以在编译时添加到模板类型B?A和B真的可以是任何东西。

    1 回复  |  直到 8 年前
        1
  •  4
  •   Jarod42    8 年前

    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>;