绑定通用c++;使用boost.python将库转换为python 我想知道当用一般的方式编写C++库绑定的过程是什么时候。
是否可以绑定模板类,或者只能绑定模板生成的类?只能绑定生成的类。但是,可以编写一个模板函数来导出类,并为要导出的每个具体类型调用此函数。例如:绑定通用c++;使用boost.python将库转换为python 我想知道当用一般的方式编写C++库绑定的过程是什么时候。,c++,python,generics,templates,boost,C++,Python,Generics,Templates,Boost,是否可以绑定模板类,或者只能绑定模板生成的类?只能绑定生成的类。但是,可以编写一个模板函数来导出类,并为要导出的每个具体类型调用此函数。例如: template<class T> struct foo {}; template<class T> void export_foo(std::string name) { boost::python::class_<foo<T>>(name.c_str()); } BOOST_PYTHON_
template<class T>
struct foo {};
template<class T>
void export_foo(std::string name) {
boost::python::class_<foo<T>>(name.c_str());
}
BOOST_PYTHON_MODULE(foo)
{
export_foo<int>("foo_int");
export_foo<std::string>("foo_string");
//...
}
模板
结构foo{};
模板
void export_foo(std::string name){
boost::python::类(name.c_str());
}
BOOST_PYTHON_模块(foo)
{
出口食品(“食品国际”);
导出_foo(“foo_字符串”);
//...
}
如果这还不够,您还可以深入元编程(例如Boost.MPL),创建类型列表,并自动调用所有这些类型的export\u foo。我忘了提到,我现在正在尝试为可配置数学库(cmldev.org)编写绑定