2013-04-30 81 views
0

在我的C++應用程序中,我有大約10個不同的類,它們定義了某些「行爲」(我們稱它們爲A,B,C ......)。代碼中的其他地方(方法)可能以任意組合使用這些行爲。例如。方法M1使用行爲A和B,方法M2使用行爲A,C和d,...向Doxygen添加「參考表」

在實踐中,代碼是這樣的相似:

BehaviorCollection coll; 
BehaviorA ba; 
coll.push_back(&ba); 
BehaviorB bb; 
coll.push_back(&bb); 
someComplexFunctionality (coll); 

我要生成其一目瞭然方法使用的行爲,最好在具體行爲的文件,讓每一個行爲的類文件中包含類似的列表:

BehaviorA is used by the following methods: 
- method1 
- method3 
- method7 

我可以硬編碼這個名單,但一段時間後就會變得過時,因爲新的方法被添加,方法開始使用額外的行爲或方法停止使用行爲。 因此,爲了保持這種可維護性,我更喜歡在使用行爲的方法中使用某些東西,告訴Doxygen「此代碼使用這些行爲,因此在該行爲的文檔中添加一些內容」。

像「Visual AssistX」或「Understanding for C/C++」這樣的工具允許我執行查找,但是每次您想要查找時仍需要一些手動操作。因此,我想在我的文檔生成系統中自動執行此操作。

我正在考慮使用defgroup和ingroup,但我不確定這是否適用於代碼片段。 什麼是最好的使用方法?

回答

1

我使用xrefitem標籤找到了解決方案。

在每一個方法使用行爲我添加了這樣一行:

//! \xrefitem group_behaviorA_users "Behavior A users" "Behavior A Users" 

然後行爲本身包含一個文件一行:

See \ref group_behaviorA_users for an overview of all users of this behavior. 

問題解決了。