O
static_assert(forall<T>(std::is_convertible_to<bool>(foo(std::declval<T>())))
static_assert
на вызывающей стороне?Size: a a a
O
static_assert(forall<T>(std::is_convertible_to<bool>(foo(std::declval<T>())))
static_assert
на вызывающей стороне?CD
static_assert
на вызывающей стороне?Rn
Rn
O
static_assert
внутри самой функции. Но возможность перегрузка по возвращаемому типу, вероятно, была бы более мощным инструментом, чем просто проверкаRn
AK
Rn
Rn
Rn
Rn
КП
КП
AK
Rn