вокруг объявлений методов класса? Что-то вроде такого:
template<typename T>
class C {
public:
if constexpr (std::is_integral_v<T>) {
void foo() {}
} else {
void bar() {}
}
};
Удвиваю, было бы очень круто.
а чем sfinae-то не устраивает?
предположим есть такое, как это использовать?
кстати, а почему бы это не решать через базовый класс?
метаклассы Саттера про это, по идее
Первоначальное предложение на constexpr if как раз позволяло такие конструкции. После обсуждения решено было запретить подобное, так как возникало множествво нерешаемых вопросов. Самое первое предложение по теме: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3322.pdf
Обсуждают сегодня