You can import python modules in C++ using the import function.  See here:

http://www.boost.org/doc/libs/1_39_0/libs/python/doc/v2/import.html

You can also make your C++ extension classes 'pickleable' using boost python's 
pickle suite:

http://www.boost.org/doc/libs/1_39_0/libs/python/doc/v2/pickle.html


Bill

-----Original Message-----
From: cplusplus-sig-bounces+wladwig=wdtinc....@python.org 
[mailto:cplusplus-sig-bounces+wladwig=wdtinc....@python.org] On Behalf Of Simon 
Pickles
Sent: Tuesday, May 05, 2009 4:29 AM
To: cplusplus-sig@python.org
Subject: [C++-sig] Extended python system needs access to cPickle in c++

Hi,

I have an app with a python core, then c++ extension modules.

I'd like to be able to use cPickle to pack structures, especially 
boost::python::tuples, in c++.

Is there a way I can expose a python module in the c++ extensions?

I thought about passing a module as an arg to a c++ function, as a 
boost::python::object:

// cModule

void DoStuff(object pickleModule)
{
    tuple t = make_tuple("Spam",42);
    object pickleDumps = pickleModule.attr("dumps");
    object s = pickleDumps(t);

    // Send s to other process
}



# python
import cModule
import cPickle

cModule.DoStuff(cPickle)
#

Am I barking up the wrong tree?

Many thanks

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

Reply via email to