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.

_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to