All,

I'm currently exposing much of our C++ API to Python and have had much success
with everything up to here.  I'm running into issues trying to expose a pointer
to a vector which holds pointers to instances of a class.

The question is:  is there more I have to do to export a pointer to a vector of
a class type we've defined?  Or is there something simpler that I'm not seeing?
 I've tried exposing a pointer to a vector, but that didn't turn out well.  I
was getting value_type undefined errors and could not find any postings on them.
 Perhaps that way was correct but I didn't not have the whole piece in place.

Thanks in advance!

CODE: (all of my code and sample types replace our actual data types)
-------------------------------------------------------------------------

C++
-------

class sample {
public:
   std::vector<Derived*> *vec;
};


class_<std::vector<Derived *> >("std_vector_Derived")
        .def(vector_indexing_suite<vector<Derived *>())
;

class_<sample>("sample")
   .def_readwrite("vec", &sample::vec)
;

Python
--------
inst = EXPOSED_MODULE.EXPOSED_FUNCT( )      
#EXPOSED_MODULE/FUNCT are replacements for the real name...
#inst is an instance of "sample" returned from a exposed c++ function after it
was populated it with data.

print inst.vec[0] 
#Assume vector was populated from C++ side and verified to be populated in C++.
#Problem occurs here because of type...

STDERR (PYTHON)
---------------
TypeError: No to_python(by-value) converter found for C++ type: class
std::vector<class Derived*, class std::allocator<class Derived*> > *








_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to