如何配置 Doxygen 以在"Class Index"中包含类的类型定义?

How can I configure Doxygen to include typedefs of classes in the "Class Index"?

本文关键字:包含类 Index 类型 定义 Class 配置 以在 Doxygen 何配置      更新时间:2023-10-16

如何配置 Doxygen 以在 "Class Index" 网页中包含类的 typedef? 例如,如果代码具有

typedef std::map<std::string /* month name */, std::string /* yield */> MonthlyYieldMap;

在某处,MonthlyYieldMap就像一个类,因此将其包含在类索引中似乎是合理的,就像引用类的其他名称一样。

如果我正在检查别人的代码并看到一个行为类似于类但对我来说不熟悉的东西的名称,那么我会拉出类索引来查找类的详细信息,但如果名称是 typedef,那么它就不会显示。

我仍然可以通过类索引网页上的Doxygen搜索栏找到有关神秘名称的信息,但如果在类索引中提及它会更方便。

我浏览了配置文件,发现有两个提到 typedefs(INLINE_SIMPLE_STRUCTS 和 TYPEDEF_HIDE_STRUCT(,但它们没有解决我的问题。

添加 2018-07-05:

如果我可以编辑代码,那么我可以将 typedef 更改为继承另一个类的类:

class MonthlyYieldMap : public std::map<std::string, std::string> { }

然后它包含在类索引中。 我不知道这样做是否会对性能或可执行文件大小造成损失。 如果我无法编辑代码,这无济于事。

typedef不是class,这是不可预见的。 一个不太好的解决方案,因为它没有提到MonthlyYieldMap是一个typedef,而是说它是一个函数(我不知道这在您的情况下有多可接受(是:

/**
* @class MonthlyYieldMap
*/
/**
* some documentation
* relates MonthlyYieldMap
*/
typedef std::map<std::string /* month name */, std::string /* yield */> MonthlyYieldMap;