РЕДАКТИРОВАТЬ: Моя ошибка решена; объяснил в моем ответе.
У меня есть это:
std::vector < boost::shared_ptr < Entity > > entities;
и пытаюсь выставить через SWIG вот так:
%include "boost_shared_ptr.i"
%include "std_vector.i"
%shared_ptr(Entity)
%include <Entity.h>
namespace std {
%template(EntityVector) vector<boost::shared_ptr<Entity> >;
};
%include <TheFileWithEntities.h>
Однако в Python сущности оказываются кортежем:
import MyModule
print type(MyModule.cvar.entities)
# Output: (type 'tuple')
Я искал это в Google, но не смог найти конкретных примеров того, как это обернуть. На одной странице был приведен небольшой пример упаковки для C #, но в моем случае это не помогло.
Любая помощь приветствуется.