[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