Формулировка вариативной концепции для автозаполнения clangdC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Формулировка вариативной концепции для автозаполнения clangd

Сообщение Anonymous »

У меня есть следующая концепция:
template
concept CanSend = requires(T obj)
{
{obj.send(std::declval())} -> std::same_as;
};

template
concept HandlerConcept = (CanSend && ...);

Я хотел бы переписать это в эквивалентную концепцию C, чтобы clangd мог определить, что C имеет метод отправки . Прямо сейчас, если я напишу:
template
void foo(HandlerT obj)
{
obj.send(5);
}

Моя система автозаполнения не может определить, что obj имеет этот метод отправки. Для сравнения, clangd может выяснить это в следующем фрагменте кода, что obj имеет метод send()...
template
void foo(T obj)
{
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... tocomplete
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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