在我的C ++应用程序中,我有大约10个不同的类来定义某些“行为”(让我们称之为A,B,C,......)。代码中的其他位置(方法)可以以任何组合使用这些行为。例如。方法M1使用行为A和B,方法M2使用行为A,C和D,......
在实践中,代码类似于:
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”或“了解C / C ++”这样的工具允许我执行查找,但每次要进行查找时,它们仍然需要一些手动操作。因此,我想在我的文档生成系统中自动执行此操作。
我正在考虑使用defgroup和ingroup,但我不确定这是否适用于代码片段。 什么是最好的使用方法?
答案 0 :(得分: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.
问题解决了。