У меня есть функция C ++, которая возвращает список структур. Внутри структуры есть еще списки структур.
struct CameraInfo {
CamName name;
std::list lImgFormats;
std::list lCamControls;
};
std::list getCameraInfo()
{
std::list lCamerasInfo;
// fill lCamerasInfo
return lCamerasInfo;
}
тогда для ее экспорта я использовал:
class_ >("CameraNode", no_init)
...
...
.def("listCameraInfo", make_function(&CameraNode::listCameraInfo))
.staticmethod("listCameraInfo")
...
;
И все было нормально, так как я использовал cout для вывода данных на экран ... Теперь я хотел бы использовать возвращаемое значение и его содержимое из свойств типа Python, таким образом:
cameras = []
cameras = CameraNode.getCameraInfo()
print cameras[0].name
print cameras[0].lImgFormats[0]
and so on...
Возможно ли это вообще ?? Должен ли я использовать вместо этого add_property? Не думаю, что смогу создать класс для каждой структуры. Этот дизайн имел смысл, пока я работал только над C ++, но теперь, когда мне придется его обернуть, я все больше и больше запутываюсь.
Любой совет по обертыванию std :: list с помощью boost.python в целом будет буду очень хорошо принят.
Я добавлю сюда ссылки, которые считаю полезными: Итераторы StlContainers