[C++-sig] Calling member function of object created in C++ via embedded Python

Ron Brown, Jr. rbrown at gamry.com
Wed Apr 18 19:31:14 CEST 2007


Thanks John, I'll give that a shot!

-Ron

John Reid wrote:
> If I have you right you might try this:
> 
> typedef boost::shared_ptr< World > world_ptr;
> world_ptr worldObject( new World ), worldObject2;
> 
> ...
> 
> worldObject2 = extract<world_ptr>(resultObject);
> 
> 
> If you pass pointers to objects around instead of objects by value you 
> will probably have more luck. The following line as it stands forces use 
> of the copy constructor (if worldObject is of type World)
> dictionary["pyWorldObject"] = worldObject
> 
> For boost.python to work with world_ptrs you will need to tell it about 
> them, so add this to the BOOST_PYTHON_MODULE:
> 
> register_ptr_to_python( world_ptr );
> 
> 
> There may be typos in the above but I think this is along the right sort 
> of lines....
> 
> John.




More information about the Cplusplus-sig mailing list