[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyQt] Request for Comments: Support for C++ Scoped Enums
From: Phil Thompson <phil () riverbankcomputing ! com>
Date: 2017-08-13 16:26:15
Message-ID: B167B890-4A28-41CC-A3BA-F243602F0D64 () riverbankcomputing ! com
[Download RAW message or body]
On 11 Aug 2017, at 4:22 pm, Phil Thompson <phil@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...
> 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.
Tonight's SIP snapshot will support C++11 scoped enums as described above. Consider \
this experimental (ie. not rigourously tested).
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