J'essaie de faire une affirmation statique qui vérifie si le type A peut être ajouté au type B. Est-il possible de vérifier si le type de modèle A est ajouté au modèle de type B à compiler le temps? A et B pourraient vraiment être n'importe quoi.Statique affirmer si oui ou non ajouter l'opération est disponible
2
A
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
Cela dépend de ce que vous voulez dire exactement par _addable_. –