Hi, I've made a little class for serial communication, which i want to export from c++ to python. My problem is, that this class does not know what data it's receiving. The layer above the protocol knows how to handle the data. Here is an example:
class Packet{ public: uint8_t id; uint8_t data[256]; template<typename T> void copy_to(T *pointer){ if(sizeof(T) > sizeof(data)){ cout << "size of object you want to copy data to is bigger then a Packtet. Do you know what you are doing?" << endl; } memcpy(pointer,&data,sizeof(T)); } void copy_to_void(void *p, uint8_t size){ memcpy(p,&data,size); } }; struct example_data{ uint8_t ad_value; int16_t acc_x; int16_t acc_y; }; I use pyplusplus to export everything. With the line template void Packet::copy_to<example_data>(example_data*) it works. But how do i do that, without knowing exemple_data at compile time... I know ctypes has some pointer and dataalignmentstuff, but my understanding of pyplusplus, boost::python and ctype's is not good enough. Maybe it is possible to get a ctype-pointer and use the copy_to_void()-Funktion. But i don't know how???? Can somebody help me? Regards, Hendrik _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig