Boost.Python - 没有对C ++使用任何提升?

时间:2013-11-06 10:11:45

标签: c++ python boost boost-python

我用C ++(native)开发了一个库,并且在任何绑定中都没有使用boost。

我正在使用Python为这个库创建一个Wrapper,因此它可以在客户端工作。在查看了所有可用选项后,我们决定boost.python是所选方法。问题是我是否可以将boost.python用于Python /客户端,即使我在任何C ++实现中都没有使用boost?

另外,假设我的库名为myLib,因此可以:

myLib.Vector()我可以在哪里推送价值观?即vect = myLib.Vector(1, 2, 3, 4, 5)

无需在C ++库中创建一个名为Vector的类?

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您可以使用boost.python并忽略其余的提升。

您可以在.cpp文件中明确地实例化矢量模板专业化

template class vector<int>;

然后在你的python代码中公开它:

class_<...>("Vector").def(...);

这种方式应该可行。