Как обеспечить наличие шаблонного метода с помощью концепции одного параметра? [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Как обеспечить наличие шаблонного метода с помощью концепции одного параметра? [дубликат]

Сообщение Anonymous »

Я могу написать следующее:

Код: Выделить всё

template
concept foo = requires(T& t) {
{ t.template bar() } -> std::same_as;
};
Единственная проблема заключается в том, что это дает мне концепцию foo, а мне нужна концепция foo. Мне не нужна концепция, утверждающая, что T имеет метод bar, который принимает определенный U, я хочу утверждать, что T имеет метод foo< /code>, который является шаблонным и поэтому может принимать что угодно. Синтаксис, который я только что придумал:

Код: Выделить всё

template
concept foo = requires(T& t) {
template { t.template bar() } -> std::same_as;
};
Это больше похоже на то, чего я пытаюсь достичь. Можно ли это сделать на C++23?
Примечание для повторного открытия: другой вопрос вообще не затрагивает однопараметрический аспект моего вопроса (часть, которая находится прямо в заголовок)

Подробнее здесь: https://stackoverflow.com/questions/793 ... ted-method

Вернуться в «C++»