我是 python 新手,我看过 boost python,它看起来非常令人印象深刻。但是通过介绍我找不到任何示例,其中对象向量作为python列表/元组返回。
即举这个例子,我想暴露类X,Cont及其所有功能。关键位将 X 或字符串的向量返回给 python
class X {};
class Cont {
.....
// how can this be exposed using boost python
const std::vector<X>& const_ref_x_vec() const { return x_vec_;}
std::vector<X> value_x_vec() const { return x_vec;}
const std::vector<std::string>& const_ref_str_vec() const { return str_vec_;}
std::vector<std::string> value_str_vec() const { return str_vec_; }
...
private:
std::vector<X> x_vec_;
std::vector<std::string> str_vec_;
};
我自己试图公开 const_ref_x_vec()、value_x_vec() 等函数的尝试徒劳无功,只会导致编译错误。
从谷歌搜索中,我没有看到任何支持按值或引用返回向量的示例。这甚至可以通过 boost python 实现吗?有什么解决方法吗?我应该在这种情况下使用 SWIG 吗?
任何帮助表示赞赏。
阿凡达