[Development] API style guide: scoped enum or not?
Marc Mutz
marc.mutz at qt.io
Wed May 3 21:42:50 CEST 2023
On 03.05.23 20:06, A. Pönitz wrote:
> My main problem with enum classes _in Qt_ is that it is inconsistent
> with what has been there traditionally. It is simply no fun to guess
> what "style" some enum is (and sure, Peppe has a point when hinting that
> the naming scheme wasn't applied uniformly in the pre-past either...)
There is a pretty straight-forward migration path (and I'm sure that
clang-tidy has an automatic transformation already):
For amy unscoped
enum E { A, B, C, };
you can, since C++11, write
E::A, E::B, E::C
This rewrite is an automatable task, and, once done, we can make E
scoped, and just have to deal with (desired) fallout of the missing
implicit conversion to underlying_type.
So if your problem is consistency, then just scope the unscoped
enumerators in your code as if they were scoped.
Thanks,
Marc
--
Marc Mutz <marc.mutz at qt.io>
Principal Software Engineer
The Qt Company
Erich-Thilo-Str. 10 12489
Berlin, Germany
www.qt.io
Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht Charlottenburg,
HRB 144331 B
More information about the Development
mailing list