大多数文档系统都有特殊的“另请参见”部分,可以在其中插入指向其他文档的链接。尽管 Doxygen 也有一个命令来启动这样的部分(请参阅 \sa 部分),但它允许您将这些类型的链接放置在文档中的任何位置。对于
文档,将写入页码的引用而不是链接。此外,文档末尾的索引可用于快速查找成员、类、命名空间或文件的文档。对于手册页,不生成引用信息。
接下来的部分将展示如何生成指向源文件中各种已记录实体的链接。
指向网页和邮件地址的链接
Doxygen 会自动将文档中找到的任何 URL 和邮件地址替换为链接(在 HTML 中)。要手动指定链接文本,请使用 HTML“a”标签
<a href="linkURL">link text</a>
Doxygen 将自动将其翻译成其他输出格式。
指向类的链接
文档中所有与已记录类对应且包含至少一个非小写字符的词将自动替换为指向包含该类文档页面的链接。如果您想阻止与已记录类对应的词被链接替换,您应该在该词前面加上 %。要链接到全小写符号,请使用 \ref。
指向文件的链接
所有包含句点(.)且该句点不是词中最后一个字符的词都被视为文件名。如果该词确实是已记录输入文件的名称,将自动创建指向该文件文档的链接。
指向函数的链接
当遇到以下模式之一时,将创建指向函数的链接
-
<函数名>"("<参数列表>")"
-
<函数名>"()"
-
"::"<函数名>
-
(<类名>"::")n<函数名>"("<参数列表>")"
-
(<类名>"::")n<函数名>"("<参数列表>")"<修饰符>
-
(<类名>"::")n<函数名>"()"
-
(<类名>"::")n<函数名>
其中 n>0。
- 注 1
- 函数参数应使用正确的类型指定,即“fun(const std::string&,bool)”或“()”以匹配任何原型。
- 注 2
- 需要成员函数修饰符(如“const”和“volatile”)来标识目标,即“func(int) const”和“func(int)”指向不同的成员函数。
- 注 3
- 为了与 Javadoc 兼容,上述模式中可以使用 # 代替 ::。
- 注 4
- 在包含成员 foo 的类的文档中,使用“::foo”引用全局变量,而 #foo 将链接到成员。
对于非重载成员,可以省略参数列表。
如果函数被重载且未指定匹配的参数列表(即使用模式 2 或 6),则将创建指向其中一个重载成员文档的链接。
对于成员函数,如果满足以下条件,可以省略类作用域(如模式 4 到 7 中使用):
- 模式指向的已记录成员属于包含该模式的文档块的同一个类。
- 与包含该模式的文档块对应的类具有一个基类,该基类包含一个与该模式匹配的已记录成员。
指向其他成员的链接
所有这些实体都可以像上一节中描述的那样进行链接。为了清晰起见,建议在这种情况下只使用模式 3 和 7。
- 示例
class Autolink_Test
{
public:
Autolink_Test();
~Autolink_Test();
void member(int);
void member(int,int);
enum EType {
Val1,
Val2
};
protected:
int var;
};
Autolink_Test::Autolink_Test() { }
Autolink_Test::~Autolink_Test() { }
int globVar;
enum GlobEnum {
GVal1,
GVal2
};
#define ABS(x) (((x)>0)?(x):-(x))
typedef Autolink_Test B;
点击 此处 查看 Doxygen 生成的相应 HTML 文档。
类型定义
涉及类、结构体和联合体的类型定义,例如
typedef struct StructName TypeName
为 StructName 创建别名,因此当遇到 StructName 本身或 TypeName 时,将生成指向 StructName 的链接。
- 示例
struct CoordStruct
{
float x;
float y;
};
typedef CoordStruct Coord;
Coord add(Coord c1,Coord c2)
{
}
点击 此处 查看 Doxygen 生成的相应 HTML 文档。
转到 下一 部分或返回 索引。