[PyQt] Request for Comments: Support for C++ Scoped Enums
phil at riverbankcomputing.com
Sun Aug 13 17:26:15 BST 2017
On 11 Aug 2017, at 4:22 pm, Phil Thompson <phil at riverbankcomputing.com> wrote:
> 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...
> 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...
> 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.
Tonight's SIP snapshot will support C++11 scoped enums as described above. Consider this experimental (ie. not rigourously tested).
More information about the PyQt