0

在我的 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,但我不确定这是否适用于代码片段。最好的使用方法是什么?

4

1 回答 1

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.

问题解决了。

于 2013-04-30T12:02:23.047 回答