如何使用SWIG将返回的std::map转换为Python字典?
如何将SWIG包装的C++ std::map转为原生Python字典?
- 此前已实现Python字典到C++
std::map<std::string, std::string>的映射,无需显式调用map构造函数即可直接使用,效果良好。
当前遇到的问题:
我有一个C++成员函数:
std::map<std::string, std::string> const& getMetaData() const;
SWIG将该函数的返回值包装成了一个代理对象,显示为:
<rawdata.map_string_string; proxy of <Swig Object of type 'std::map< std::string,std::string >
虽然可以通过operator[]、size()、keys()等方法访问这个代理对象的内容,但我希望直接得到原生Python字典。
想问:SWIG本身是否支持这种自动转换?还是必须编写自定义类型映射,手动复制所有键值对来实现?
内容的提问来源于stack exchange,提问作者Maximilian Rixius
相关产品推荐
相关产品推荐

