[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyKDE] SIP- 4.2.1 (snapshot-20050625-332) less smart than g++ in
From: Phil Thompson <phil () riverbankcomputing ! co ! uk>
Date: 2005-06-30 16:55:20
Message-ID: 200506301755.20251.phil () riverbankcomputing ! co ! uk
[Download RAW message or body]
On Sunday 26 June 2005 3:57 pm, Gerard Vermeulen wrote:
> Here is an example where the sip specification matches exactly the
> corresponding header files:
>
> -- start header file --
> #ifndef V_H
> #define V_H
>
> class A
> {
> public:
> A();
> virtual ~A();
> virtual int getTypeId() = 0;
> };
>
> class B: public A // abstract by derivation
> {
> public:
> B();
> virtual ~B();
> virtual int bStuff();
> };
>
> class C: public B // abstract by derivation
> {
> public:
> C();
> virtual ~C();
> virtual int cStuff();
> };
>
> class D: public C
> {
> public:
> D();
> virtual ~D();
> virtual int getTypeId();
> virtual int dStuff();
> };
>
>
> #endif // V_H
> -- end header file --
>
> -- start sip file --
> %Module v 0
>
> class A
> {
> %TypeHeaderCode
> #include <v.h>
> %End
>
> public:
> A();
> virtual ~A();
> virtual int getTypeId() = 0;
> };
>
> class B: A
> {
> %TypeHeaderCode
> #include <v.h>
> %End
>
> public:
> B();
> virtual ~B();
> virtual int bStuff();
> // SIP must have the information so that I do not have to copy
> // virtual int getTypeId() = 0;
> // from a base class since that may be tedious in huge libraries
> };
>
> class C: B /Abstract/ // prevents subclassing
> {
> %TypeHeaderCode
> #include <v.h>
> %End
>
> public:
> C();
> virtual ~C();
> virtual int cStuff();
> };
>
> class D: C
> {
> %TypeHeaderCode
> #include <v.h>
> %End
>
> public:
> D();
> virtual ~D();
> virtual int getTypeId();
> virtual int dStuff();
> };
> -- end sip file
>
> For C++, classes A, and B and C by inheritance are abstract because of the
> pure virtual getTypeId() declared in A.
>
> SIP does not look for pure virtual functions in base classes of a class but
> it should have all the information isn't it?
Should be fixed in tonight's snapshot.
Thanks,
Phil
_______________________________________________
PyKDE mailing list PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic