[C++-sig] Can boost python do these 2 things automatically?

Chang Chen Chang_Chen at sonic.com
Thu Oct 11 10:58:30 CEST 2007

Hi All

I am new to boost python. I have 2 questions for using boost python to wrap C++ API

Our C++ API looks like this:

class BImpl;
Class B
   Error DoSomething();
  BImpl*; mpBImpl         
class A
   Error CreateB(B& bObj);

Our error handle strategy is returning an error code other than throwing exception. This is because throwing an exception across the DLL boundary is not safe.

I want to wrap A and B with same C++ public interface in python, but 

#1 I want to return real object rather than retrieve object. i.e. in python, I would like users writing code like this:

	aObject = A()
	~bObject = aObject.CreateB()~

#2 I want to throw an *python* exception rather than return an error code like c++.

I do not know how to do it in Boost Python.

Any suggestion?


More information about the Cplusplus-sig mailing list