[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