[問題] 靜態產生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