我有以下代码:
#include "boost_facade.h"
BOOST_PYTHON_MODULE (libdtlinux) {
using namespace boost::python;
class_<DtSearch>("DtSearch")
.def("DoSearch", &DtSearch::DoSearch)
.def("CreateIndex", &DtSearch::CreateIndex);
}
我想要做的是让Boost自动添加class DtSearch
和所有子方法,而不是在BOOST_PYTHON_MODULE
中逐一定义它们。
有没有办法在头文件中包含所有对象,或者我是否需要像现在一样指定它们?
更新
SWIG具有我正在寻找的功能,但是我需要使用Boost.Python。这是swig的例子:
%module example
%{
/* Includes the header in the wrapper code */
#include "header.h"
%}
/* Parse the header file to generate wrappers */
%include "header.h"
参考: SWIG下的http://www.swig.org/tutorial.html真正懒惰的