On 23/05/17 08:51, Kjell Ahlstedt wrote:
Den 2017-05-13 kl. 10:04, skrev Kjell Ahlstedt:
Yet another suggestion in
https://bugzilla.gnome.org/show_bug.cgi?id=86864#c43
Can we decide what to do with the few enums that we want to be
implicitly convertible to int? My suggestion in
https://bugzilla.gnome.org/show_bug.cgi?id=86864#c43 is
class ResponseType_Enum final
{
public:
enum ResponseType
{
NONE = -1,
REJECT = -2,
ACCEPT = -3,
...
};
ResponseType_Enum() = delete;
};
using ResponseType = ResponseType_Enum::ResponseType;
I tried to make a mixture of a plain (old-style) enum and an enum class.
It shall be implicitly convertible to int, and its enumerators shall be
scoped. In other respects it shall be possible to use it as if it's an
enum, e.g.
ResponseType r = ResponseType::REJECT;
int i = r;
but not
r = REJECT;
i = REJECT;
and preferably not
r = i;
Daniel has remarked that _Enum is not a good suffix for a class name. I
agree. Can you think of a better suffix? I don't want to call the class
/ResponseType/. That would clash with /using ResponseType = .../. If it
shall be possible to use /ResponseType/ as if it's the name of an enum,
it must be the name of an enum or an alias for a name of an enum. Or are
there other possibilities that are not too complicated?
ResponseType_Values maybe?
Regards,
Ian
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list