[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: [PyQt] Request for Comments: Support for C++ Scoped Enums
From: Phil Thompson <phil () riverbankcomputing ! com>
Date: 2017-08-11 15:22:28
Message-ID: 5D1976AF-31F2-408F-AC7B-5356DEB7E8D5 () riverbankcomputing ! com
[Download RAW message or body]
At the moment SIP only supports C-like unscoped enums and implements them as \
sub-classes of int. The main weaknesses of these are the lack of type safety and the \
injection of the member names into the enclosing scope.
These problems were fixed by the introduction of scoped enums in newer versions of \
C++, see...
https://www.ibm.com/developerworks/rational/library/scoped-enums/index.html
Note that Qt doesn't currently use scoped enums but I expect that to change.
Scoped enums are much closer to the implementation of Python enums...
https://docs.python.org/3/library/enum.html#module-enum
I propose to add support for scoped enums and implement them using Python enums - \
specifically as sub-classes of Enum (and *not* IntEnum in order to preserve the type \
safety). Consequently Python v3.4 or later will be required for wrapping libraries \
using scoped enums.
Any comments welcome.
Phil
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
https://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic