On Wednesday, 27 April 2016 at 16:04:13 UTC, Steven Schveighoffer wrote:
BTW, this enumeration looks terrible. I would flag this as blocking if it were a code review, even in C++.

-Steve

Yeah, I didn't even consider that different versions have different enum values; that is going to be a really good way to break backwards compatibility.

Hmm, I wonder if I can make use of UDA and a mixin something like

enum tagINSTALLMESSAGE
{
// 12 others ...
        INSTALLMESSAGE_INITIALIZE     ,
        INSTALLMESSAGE_TERMINATE      ,
        INSTALLMESSAGE_SHOWDIALOG     ,
[greaterThan(500)]
        INSTALLMESSAGE_PERFORMANCE    ,
[greaterThan(400)]
        INSTALLMESSAGE_RMFILESINUSE   ,
[greaterThan(450)]
        INSTALLMESSAGE_INSTALLSTART   ,
[greaterThan(450)]
        INSTALLMESSAGE_INSTALLEND     ,
}

mixin taggedEnum!tagINSTALLMESSAGE

Reply via email to