[PyQt] sip: Argument ambiguity

pymab mabxsi at hotmail.com
Fri May 6 16:39:11 BST 2011


Hi,

I'm currently experimenting with sip and my goal is to expose a C++ library
with over 300 classes to python.  My first step is to expose the core/base
classes of the library. I'm having a problem with a particular class
(CValue) which is basically a kind of variant class to handle multiple C
types and object types.

So when parsing the CValue .sip file below, sip issues the following error:
sip: CValue has ctors with the same Python signature

class CValue
{
%TypeHeaderCode
#include "xsi_value.h"
%End

...
	CValue();
	virtual ~CValue();
	CValue(const CValue& valSrc);
	CValue(LONG valSrc);

	CValue(ULONG valSrc);
>>	CValue(bool valSrc); 
	CValue(const CString& valSrc);
	CValue(const CRef& valSrc);
	
	CValue(const CRefArray& valSrc);
	CValue(unsigned char valSrc);
>>	CValue(signed char valSrc); 
	CValue(const CValueArray& valSrc);
	CValue(const CLongArray& valSrc);
	CValue(const CFloatArray& valSrc);
	CValue(const CVector3& valSrc);
	CValue(siPtrType valSrc);
	CValue(const siBlobType& valSrc);
	CValue(const wchar_t* valSrc);
	CValue(const char* valSrc);

>>	CValue(short valSrc); 
>>	CValue(unsigned short valSrc); 
>>	CValue(LLONG valSrc); 
>>	CValue(ULLONG valSrc); 
>>	CValue(float valSrc); 
>>	CValue(double valSrc); 
...
};

It seems like all the ctors marked with >> are conflicting. What is the best
way to remove this ambiguity, should I go with argument annotation (i.e.
Constrained) ? Or maybe there is a better way to do it ?

thanks
-mab



-- 
View this message in context: http://old.nabble.com/sip%3A-Argument-ambiguity-tp31560003p31560003.html
Sent from the PyQt mailing list archive at Nabble.com.



More information about the PyQt mailing list