[问题] 静态产生code的方法

楼主: lovesnake (LoyalDog)   2016-12-02 00:24:33
实在不知道怎么下标题只好下个大概了。
因为QT的Q_ENUMS实在难用,所以我想要将enum自己想办法展开成我需要的形式,大概如
下 :
======================
INPUT :
enum class Enum { A, B };
======================
OUTPUT :
enum class Enun { A, B };
int A() { return Enum::A; }
Q_PROPERTY(int a READ A CONSTANT)
int B() { return Enum::B; }
Q_PROPERTY(int b READ B CONSTANT)
======================
看来看去就是个RegExpree+循环就可以搞定的事,不过却不知道从何下手。
还有一个奢望是让IDE可以辨别这个Enum的存在…
GEN_ENUM(Enum, A, B) 把enum的各项拆开可以产生正确的结果但IDE无法识别Enum, 有点
麻烦…
拆开各项再加个IDE插件也是个办法但是更麻烦…
写个preprocessor更别提了
已经想不到别的方法了……只好来请教各位CPP大师 <(_ _)>
作者: soheadsome (师大狗鼻哥)   2016-12-02 06:53:00
看不懂 你是想做类似java的enum class?
作者: CoNsTaR ((const *))   2016-12-02 11:05:00
说认真的 通常遇到这种问题,不是你的架构设计有问题,就是该换个语言了…
作者: uranusjr (←這人是超級笨蛋)   2016-12-02 12:18:00
你用什么 IDE?这个感觉可以用个 snippet 搞定
作者: BlazarArc (Midnight Sun)   2016-12-02 14:12:00
比较好奇为何要有这些output
作者: uranusjr (←這人是超級笨蛋)   2016-12-02 14:25:00
要用在 QML 吧
作者: BlazarArc (Midnight Sun)   2016-12-02 16:42:00
哦哦 QML 不熟没用过,虽然也在用 Qt 做 GUI @@

Links booklink

Contact Us: admin [ a t ] ucptt.com