[C++-sig] Fill a python::str with contents of a vector<unsigned char> ?
Jim Bosch
talljimbo at gmail.com
Mon Jun 7 06:06:57 CEST 2010
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);
>
> How can I skip the intermediate copy?
>
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())
)
);
Note that this will not fail gracefully if myvector.empty().
Jim Bosch
More information about the Cplusplus-sig
mailing list