Concepts TS предлагает так называемый «краткий синтаксис», который позволяет вам неявно объявлять функцию шаблоном, используя концепцию вместо typename в списке параметров. Комитет ISO C ++ посчитал это спорным, когда попытался включить Концепции TS в стандарт. Они хотели узнать, просматривая объявление функции, был ли это шаблон или нет.
Через некоторое время они придумали альтернативный краткий синтаксис : вы используете auto
вычет (взятый из общих лямбда-выражений), ограниченный именем концепции:
std::integral auto plus1(std::integral auto a) {
return a + 1;
}
Однако большинство реализаций концепций в настоящее время реализуют функциональные возможности Концепции TS, а более новые вещи еще не реализованы. У VS никогда не было реализации Concepts TS, и они прямо говорят, что еще не реализовали краткий шаблонный синтаксис такого рода.