Формулировка вариативной концепции для автозаполнения 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

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