> On 06/06/2010 06:51 PM, Embhi Karuche wrote: >> I have a vector<unsigned char> whose contents I would like to copy >> into a python::str. >> Currently, I am doing: >> >> string temp(myvector.begin(), myvector.end()); >> python::str data(temp); > > You'll need to use the regular Python C API to avoid the temporary: > > > python::str data( > python::handle<>( > PyString_FromStringAndSize(&myvector.front(), myvector.size()) > ) > );
This works: python::str stuff(reinterpret_cast<const char *>(&foo_vector.front()), foo_vector.size()*sizeof(FooVector::value_type)); btw, the sizeof(FooVector::value_type) part is not necessary since its a vector<unsigned char> ; nonetheless, it clearer and possibly robust. _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig