Я пишу привязки 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, если это возможно.