[C++-sig] [Boost.Python] Wrapping C library functions
Stefan Seefeld
seefeld at sympatico.ca
Mon Feb 15 02:04:36 CET 2010
On 02/14/2010 07:32 PM, TP wrote:
> Suppose I am attempting to use a C (not C++) library that has an .h
> file with things like this:
>
> extern PIX * pixCreate ( l_int32 width, l_int32 height, l_int32 depth );
> extern void pixDestroy ( PIX **ppix );
>
> extern PIX * pixClone ( PIX *pixs );
> extern PIX * pixCopy ( PIX *pixd, PIX *pixs );
>
> Is it possible to use Boost.Python to wrap such functions?
Yes. Do you have the definition of PIX available ? In that case, you
could use that via class_<PIX>....
Otherwise, you may want to create a tiny wrapper class for it, such as
class PIXWrapper
{
public:
PIXWrapper(I_int32 w, I_int32 h, I_int32 d) : pix_(pixCreate(w, h, d) {}
~PIXWrapper() { pixDestroy(&pix_);}
...
private:
PIX *pix_;
};
and then use that in the way described in the docs.
HTH,
Stefan
--
...ich hab' noch einen Koffer in Berlin...
More information about the Cplusplus-sig
mailing list