如何为Doxygen的类提供示例代码?

时间:2012-07-30 19:39:38

标签: c++ class doxygen

我正在尝试记录嵌入在命名空间中的类,我想举例说明一下。我编写并包含了示例,它们显示在示例选项卡中。但是,它们没有在类本身中引用。例如,从this page上的代码,他们的Doxygen命令写成:

/** \example example_test.cpp
 * This is an example of how to use the Test class.
 * More details about this example.
 */

似乎Doxygen解析命令和文件,并认识到引用了Test类。这似乎并没有发生在我身上。这个功能没有很好的记录,谷歌几乎不可能。

这是我的代码的总体布局:

namespace exampleSpace
{
  ///Doxygen documentation

  class exampleClass {};

  ///@example example1.cpp
  ///  example1 description
  ///@example example2.cpp
  ///  example2 description
}

示例描述将该类命名为官方文档中的名称。然而,Doxygen似乎认出了他们而不是我的。

我的示例代码已完成并正确编译/运行。

那么放置这些命令的正确位置在哪里,Doxygen知道它们是这个特定类的例子?

编辑:看起来Doxygen实际上正在解析源代码,因为它成功链接到类和代码中的任何成员函数。但是,类页面本身不会链接到文件。

2 个答案:

答案 0 :(得分:2)

I have used \snippet for that. You refer to another file, in that file you can surround a code block with [mytag] areas. Those are then displayed where \snippet is used.

See also https://stackoverflow.com/a/35759133/356726 and https://stackoverflow.com/a/16034375/356726

答案 1 :(得分:1)

只是猜测一下,但我认为Doxygen因为命名空间而无法匹配。

使链接发生的一些想法:

  • 明确限定示例
  • 中所有名称的命名空间
  • 将代码放在命名空间
  • 中的示例中