2017-07-03 4 views

Répondre

4

Avec is_detected, vous pouvez faire quelque chose comme:

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

Intéressant qu'il n'y ait pas 'is_detected_v'. Encore, on pourrait faire 'template constexpr auto has_sum_v = std :: expérimental :: is_detected :: valeur;'. . . 'static_assert (has_sum_v );' –