Я пишу привязки Python для glog-подобной библиотеки, которая использует макрос и имеет cout-подобный синтаксис для ведения журнала.LOG(LEVEL)<<" "<<" "...
.Поэтому я использую эту функцию для вызова макроса
template <typename Arg, typename... Args>
void log(auto level, Arg&& arg, Args&&... args)
{
std::stringstream out;
out << std::forward<Arg>(arg);
using expander = int[];
(void)expander{0, (void(out << ' ' << std::forward<Args>(args)), 0)...};
LOG(level) << out.str();
}
Так что для того, чтобы обернуть эту функцию для модуля pybind11, мне нужно явно указать тип шаблона.Есть ли возможный обходной путь или способ связать эту функцию, используя pybind11?Я также открыт для использования других библиотек, таких как boost.python или даже cython, если это возможно.